Space (punctuation)
From Wikipedia, the free encyclopedia
|
|
|---|
|
apostrophe ( ’ ' ) |
| Interword separation |
|
spaces ( ) ( ) ( ) |
| General typography |
|
ampersand ( & ) |
| Uncommon typography |
|
asterism ( ⁂ ) |
In writing, a space ( ) is any empty zone between written sections. However, the term is usually used to refer to an empty zone used for interword separation (interword space) or separation between punctuation and words. Conventions about the presence and size of interword and intersentence spaces vary from language to language, and in some cases may be quite complex. Many different space characters are available in computing character sets for representing spaces of different sizes and meaning.
Contents |
[edit] Use of the space in natural languages
[edit] Spaces between words
Modern English uses a standard space to separate words, but not all languages follow this practice. Spaces were not used to separate words in Latin until roughly 600 AD – 800 AD. Ancient Hebrew and Arabic did use spaces, partly to compensate in clarity for the lack of vowels. Traditionally, all CJK languages have no spaces: modern Chinese and Japanese (except when written with little or no kanji) still do not, but modern Korean uses spaces.
[edit] Spaces between sentences
- For current practice, see the subsection: Style preferences.
There are three main conventions relating to the number of spaces used to separate sentences within the same paragraph:
- one widened space, typically two to three times wider than an inter-word space (traditional typography)
- two spaces ("English spacing" or "American typewriter spacing")
- one space ("French spacing")
Note that the term double spacing can also refer to a style of leading: the insertion of a full additional empty line between lines of text. This is commonly used for text which may incorporate later markup or modifications, such as proof-readers' copies or legal documents.
[edit] Use of the space in computing
In programming language syntax, spaces are frequently used to explicitly separate tokens. Aside from this use, spaces and other whitespace characters are usually ignored by modern programming languages. Exceptions are Haskell, ABC, and Python, which use the amount of whitespace in indentation to indicate the bounds of a block, and a whimsical language called Whitespace, where whitespace is the only meaningful syntactical element.
Text editors, word processors, and desktop publishing software differ in how they represent whitespace on the screen, and how they represent spaces at the ends of lines longer than the screen or column width. In some cases, spaces are shown simply as blank space; in other cases they may be represented by an interpunct or other symbols. Many different characters (described below) could be used to produce spaces, and non-character functions (such as margins and tab settings) can also affect whitespace.
[edit] Space characters and digital typography
[edit] The variable-width general-purpose space
In computer character encodings, there is a normal general-purpose space (Unicode character U+0020; 32 decimal) whose width will vary according to the design of the typeface. Typical values range from 1/5-em to 1/3-em (in digital typography an em is equal to the nominal size of the font, so for a 10-point font the space will probably be between 2 and 3.3 points). Sophisticated fonts may have differently sized spaces for bold, italic, and small-caps faces, and often compositors will manually adjust the width of the space depending on the size and prominence of the text.
In addition to this general-purpose space, it is possible to encode a space of a specific width. See the table below for a complete list.
(In monospaced proofreading copy, only em- and en-spaces are represented using this character (which is called an em-quad or an en-quad), while other types of spaces are represented with a number sign.
[edit] Breaking and non-breaking spaces
When rendered, the generic Unicode space is often considered insignificant when appearing at the end of a line of text, or when part of a sequence of whitespace characters, so it may be omitted or "collapsed" in such circumstances. The non-breaking space, U+00A0 (160 decimal), renders the same as a normal space but is expressly non-collapsible. It is often used to prevent line wrapping or to indent text, though best World Wide Web practice prescribes using CSS for the latter purpose.
[edit] Hair spaces around dashes
Typically, an en dash is surrounded by two normal spaces,[citation needed] while an em dash is set continuous with the text[citation needed]. However, an em dash can optionally be surrounded with a so-called hair space, U+200A (8202 decimal). This space should be much thinner than a normal space, and is seldom used on its own. It can be written in HTML by using the numeric character reference   or  . Unfortunately, very few user agents are able to render a hair space correctly: in most cases the result is an unwanted symbol or a question mark on the screen, depending on the font and renderer capabilities.
| Normal space | left right | left right |
|---|---|---|
| Normal space with em dash | left — right | left — right |
| Hair space with em dash | left — right | left — right |
| No space with em dash | left—right | left—right |
[edit] Table of spaces
Unicode defines several space characters with specific semantics and rendering characteristics, as shown in the table below. Depending on the browser and fonts used to view this table, not all spaces may display properly:
| Code | No break | HTML entity | Name | In Block | Display | Description |
|---|---|---|---|---|---|---|
| U+0020 |   | Space | Basic Latin | ] [ | Normal space, same as ASCII character 0x20 | |
| U+00A0 | ✓ | | No-Break Space | Latin-1 Supplement | ] [ | Identical to U+0020, but not a point at which a line may be broken |
| U+1680 |   | Ogham Space Mark | Ogham | ] [ | Used for interword separation in Ogham text. Normally a vertical line in vertical text or a horizontal line in horizontal text, but may also be a blank space in "stemless" fonts. Requires an Ogham font. | |
| U+180E | ᠎ | Mongolian Vowel Separator, or MVS |
Mongolian | ][ | A thin space character used in Mongolian to cause the final two characters of a word to take on different shapes.[1] | |
| U+2002 |   | En Space, or Nut |
General Punctuation | ] [ | Width of one en (half of one em). U+2000 En Quad is canonically equivalent to this character (En Space is preferred). | |
| U+2003 |   | Em Space, or Mutton |
General Punctuation | ] [ | Width of one em. U+2001 Em Quad is canonically equivalent to this character (Em Space is preferred). | |
| U+2004 |   | Three-Per-Em Space, or Thick Space |
General Punctuation | ] [ | One third of an em wide | |
| U+2005 |   | Four-Per-Em Space, or Mid Space |
General Punctuation | ] [ | One fourth of an em wide | |
| U+2006 |   | Six-Per-Em Space | General Punctuation | ] [ | One sixth of an em wide. In computer typography sometimes equated to U+2009. | |
| U+2007 | ✓ |   | Figure Space | General Punctuation | ] [ | In fonts with monospaced digits, equal to the width of one digit |
| U+2008 |   | Punctuation Space | General Punctuation | ] [ | As wide as the narrow punctuation in a font | |
| U+2009 |   | Thin Space | General Punctuation | ] [ | One fifth (sometimes one sixth) of an em wide | |
| U+200A |   | Hair Space | General Punctuation | ] [ | Thinner than a thin space | |
| U+200B | ​ | Zero Width Space, or ZWSP |
General Punctuation | ][ | Used to indicate word boundaries to text processing systems when using scripts that do not use explicit spacing; normally not a visible separation, but it may expand in passages that are fully justified. In HTML pages this space can be used as a potential line-break in long words as a replacement for the none standard <wbr> tag. However, it is not supported in all web browsers, most notably Internet Explorer version 6 and below). |
|
| U+200C | ‌ | Zero Width Non Joiner, or ZWNJ |
General Punctuation | ][ | When placed between two characters that would otherwise be connected, a ZWNJ causes them to be printed in their final and initial forms, respectively. | |
| U+200D | ‍ | Zero Width Joiner, or ZWJ |
General Punctuation | ][ | When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms. | |
| U+202F | ✓ |   | Narrow No-Break Space | General Punctuation | ] [ | Similar to U+00A0 No-Break Space |
| U+205F |   | Medium Mathematical Space | General Punctuation | ] [ | Used in mathematical formulae | |
| U+2060 | ✓ | ⁠ | Word Joiner | General Punctuation | ][ | Identical to U+200B, but not a point at which a line may be broken. Introduced in Unicode 3.2 to replace the deprecated "zero width no-break space" function of the U+FEFF character. |
| U+3000 |   | Ideographic Space | CJK Symbols and Punctuation | ] [ | As wide as a CJK character cell (fullwidth) | |
| U+FEFF | ✓ |  | Zero Width No-Break Space = Byte Order Mark (BOM) |
Arabic Presentation Forms-B | ][ | Used primarily as a Byte Order Mark character. Use as an indication of non-breaking is deprecated as of Unicode 3.2. See U+2060 instead. |
Unicode also provides some visible characters to stand in for space when necessary in the "Control Pictures" block: the Symbol For Space ␠ (U+2420), the Blank Symbol ␢ (U+2422), and the Open Box ␣ (U+2423). The interpunct · is also often used to represent a space in word processing programs such as Microsoft Word.
[edit] Space characters in markup languages
Generalised markup languages, such as SGML, do not treat space characters differently from other characters.
However, special-purpose markup languages may do. In particular, web markup languages such as XML and HTML treat whitespace characters specially, including space characters, for programmers' convenience. One or more space characters read by conforming Display-time processors of those markup languages are collapsed to 0 or 1 space, depending on their semantic context. For example, double (or more) spaces within text are collapsed to a single space, and spaces which appear on either side of the "=" that separates an attribute name from its value have no effect on the interpretation of the document. Element end tags can contain trailing spaces, and empty-element tags in XML can contain spaces before the "/>".
In XML attribute values, sequences of whitespace characters are treated as a single space when the document is read by a parser.[1] Whitespace in XML element content is not changed in this way by the parser, but an application receiving information from the parser may choose to apply similar rules to element content. An XML document author can use the xml:space="preserve" attribute on an element to force the parser to discourage the downstream application from altering whitespace in that element's content.
In most HTML elements, a sequence of whitespace characters is treated as a single inter-word separator, which may manifest as a single space character when rendering text in a language that normally inserts such space between words.[2] Conforming HTML renderers are required to apply a more literal treatment of whitespace within a few prescribed elements, such as the pre tag and any element for which CSS has been used to apply pre-like whitespace processing. In such elements, space characters will not be "collapsed" into inter-word separators.
In both XML and HTML, the non-breaking space character, along with other non-"standard" spaces, is not treated as collapsible "whitespace", so it is not subject to the rules above.
[edit] See also
[edit] References
- ^ Gillam, Richard (2002). Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard. Addison-Wesley. ISBN 0-201-70052-2.
[edit] External links
- Unicode spaces, by Jukka "Yucca" Korpela.
- Commonly confused characters

