Пробел — это расстояние между буквами, разделяющее слова.
Первые письменности были пиктографическими и идеографическими. Каждый символ обозначал слово, и разделять их не требовалось. С переходом на алфавитные системы, читать слитный текст стало очень неудобно. Тогда и появились значки разделяющие слова. Стандартный ныне символ пробела придумали далеко не сразу. В латинских и греческих текстах он применяется около тысячи лет, хотя встречался и ранее. В кириллических — прижился только в XVII веке, а в арабице в XX веке.
Кроме особого символа, указать разделение слов можно и другими способами. Например, с помощью специальных форм букв для конца или начала слова. В арабском алфавите, ряд букв существует в четырёх вариантах начертания (для начала, конца, середины, отдельно стоящей). Хотя, арабы применяют пробел, буквы по-прежнему имеют разный вид. Ещё одна альтернатива — линия над буквами. Сами слова идут без пробелов, а линия прерывается. В некоторых письменностях, разделяться могут не слова, а предложения, словосочетания или слоги. Настоящий пробел употребляется почти во всех современных системах письма. Тайцы разделяют пробелом только предложения.
В Юникоде несколько видов пробела. Есть, например, неразрывный пробел. Также, несколько символов пробела лежат в разделе
знаки пунктуации2000–206F
.
Другие символы для разделения слов:
· Интерпункт. Латинский. Применялся до 600-800 годов.
𐎟 Угаритский клинописный.
𐏐 Персидский клинописный.
𒑰 Ассирийский клинописный.
፡ Эфиопский.
Огамический.
𐤟 Финикийский.
࠰ Самаритянский.
Символ «Пробел» был утвержден как часть Юникода версии 1.1 в 1993 г.
Download Article
Download Article
Adding extra space between words and paragraphs in HTML is very different than in apps like Microsoft Word. But don’t tear out your hair just yet—we’ll show you the easiest ways to control spacing between words and lines of text, as well as how to add extra space to the beginning of each paragraph so they are properly indented on the page. This wikiHow article teaches you different ways you can add spaces to your HTML code.
-
1
Open your HTML code in a text editor. You can use any text editor, such as Notepad for Windows, or TextEdit for macOS, to edit your code. If you press the spacebar multiple times to add extra space between words or characters, you won’t see those extra spaces on your webpage—HTML automatically converts multiple spaces into a single space. You can fix this by using non-breaking space characters instead of pressing the spacebar.
-
2
Type where you want to insert an extra space. Add one non-breaking space character for every space you want to add. Unlike pressing the spacebar multiple times in your HTML code, typing more than once creates as many spaces as there are instances of .[1]
- For example, let’s say you want three spaces between the words «What will you learn» and «today?» Instead of pressing the spacebar three times, just type between the two segments. Here’s an example:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <p>What will you learn&nbsp;&nbsp;&nbsp;today?</p> </body> </html>
Basically, just translates to «one space» in HTML.
Advertisement
- For example, let’s say you want three spaces between the words «What will you learn» and «today?» Instead of pressing the spacebar three times, just type between the two segments. Here’s an example:
-
3
Use other spacing characters as shortcuts. If you want to insert two spaces, four spaces, or indent the beginning of a line, you don’t have to type multiple times:
- Two spaces: Type  
- Four spaces: Type  
Advertisement
-
1
Open your HTML code. Another way to add more spaces to your code is to use the HTML <pre> tag. This tag essentially displays the text exactly as you type or paste it, spaces and all. Start by opening your code in a text editor like Notepad for Windows or TextEdit for macOS.
-
2
Type <pre> </pre> tags in the body of your document. Any text you want to keep preformatted with a particular amount of spaces and/or line breaks will go between these tags:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre> </pre> </body> </html>
-
3
Type or paste text exactly as intended between the «<pre>» and »<pre>» tags. In this example, we’re creating three spaces between words, as well as a line break. When pre-formatting text, any spaces between words, as well as line breaks you create by pressing «Enter» or «Return,» will be displayed on the webpage.[2]
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre>What will you learn today?</pre> </body> </html>
Advertisement
-
1
Open your HTML code in a text editor. Do you want to add extra space between paragraphs or other elements on the page? Pressing Enter or Return a bunch of times in your code won’t do the trick, but adding a line break tag <br> will! Start by opening the HTML code of the page you want to edit.
-
2
Type <br> on each line you want to make blank. For example, if you want to insert just one extra blank horizontal line between two paragraphs, you’d just type one <br> once. But if you wanted to add three line breaks, you could type it three times: <br><br><br>.
- In this example, we’re adding two lines of extra space between our sentences:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre>What will you learn today?</pre> <br><br> <p>You will learn a lot!</p> </body> </html>
- In this example, we’re adding two lines of extra space between our sentences:
Advertisement
-
1
Open an HTML document. Let’s say you want to indent the beginning a paragraph with some space—let’s say 10 pixels. The best way to do this would be to use CSS (Cascading Style Sheets). We’ll cover two ways to do this—one lets you indent each paragraph manually, and another indents all paragraphs at once. Start by opening up your HTML document in a text editor.
-
2
Indent a single paragraph. If we want to indent the paragraph in our example, we can do so by adding the text-indent property to its <p> tag. In this example, we’ll be indenting our paragraph by 10px:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <p style="text-indent:10px">Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p> Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
- Since we added the text-indent property to just the first paragraph, that is the only paragraph that will be indented. Read on to learn how to indent all paragraphs on the page the same way instead of just one!
-
3
Create a style section for your CSS. If we want to indent all paragraphs on our page, we can do so by defining the paragraph style in CSS. The style section goes into the head of your HTML code, or on a separate style sheet. Let’s add ours to the head, which is between the <head> and </head> tags:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> <style> </style> </head> <body> <p style="text-indent:10px">Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p>Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
-
4
Type the indenting code into the style area. So, we want every paragraph to begin with 10px of space, not just one. This means we’ll need to create a style for the paragraph tag (<p>) that automatically adds 10px of space to the beginning of the first word in each paragraph. We’ll also want to remove the text-indent property from our original example, as it won’t be needed anymore. The property should look like this:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> <style> p { text:indent: 10px; </style> </head> <body> <p>Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p>Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
- You can adjust the number of spaces by typing a different number after «text-indent:».
- You can use unites other than pixels to define the size of your indent, such as percentage (i.e. «text-indent: 15%;») or measurements (e.g., «text-indent: 3mm;»).
-
5
Type <p> at the beginning of each paragraph. Since we’ve added specific instructions to indent the <p> tag, every paragraph on the page will be indented 2.5em. This goes for our existing paragraphs, and any new paragraphs we add to the page.
Advertisement
Sample HTML Code
Add New Question
-
Question
If I define lines of text as individual paragraphs, I get a blank space between lines. How do I get rid of that space?
Use a line break instead of the paragraph break.
-
Question
Can I specify more than one CSS class for any HTML element?
Yes, it’s very simple too. Inside the class attribute, add all the classes you want the element to have, separated by a space. For example, if you had a tag needing the classes «blueFont» and «underline,» the class attribute would be:
class=»blueFont underline»
-
Question
How do I space HTML code vertically?
The most basic is to simply style it with margin and/or padding. Alternatively, read into absolutely positioning an element, then you can specify exactly where on the page you want in, pixel for pixel.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
If your spaces turn into strange symbols on the web browser, it’s most likely caused by extra data stored in the word processing format not intended for online display. Avoid this by using a plaintext editor like Notepad or TextEdit.
-
CSS is a much more powerful and predictable way to lay out your page, including the spacing of your text.
Thanks for submitting a tip for review!
Advertisement
About This Article
Article SummaryX
1. Type « » to add a single space.
2. Type «&ensp» to add 2 spaces.
3. Type «&emsp» to add 4 spaces.
4. Use the non-breaking space (nbsp) 4 times to insert a tab.
5. Use «br» to add a line break.
Did this summary help you?
Thanks to all authors for creating a page that has been read 5,934,247 times.
Is this article up to date?
Download Article
Download Article
Adding extra space between words and paragraphs in HTML is very different than in apps like Microsoft Word. But don’t tear out your hair just yet—we’ll show you the easiest ways to control spacing between words and lines of text, as well as how to add extra space to the beginning of each paragraph so they are properly indented on the page. This wikiHow article teaches you different ways you can add spaces to your HTML code.
-
1
Open your HTML code in a text editor. You can use any text editor, such as Notepad for Windows, or TextEdit for macOS, to edit your code. If you press the spacebar multiple times to add extra space between words or characters, you won’t see those extra spaces on your webpage—HTML automatically converts multiple spaces into a single space. You can fix this by using non-breaking space characters instead of pressing the spacebar.
-
2
Type where you want to insert an extra space. Add one non-breaking space character for every space you want to add. Unlike pressing the spacebar multiple times in your HTML code, typing more than once creates as many spaces as there are instances of .[1]
- For example, let’s say you want three spaces between the words «What will you learn» and «today?» Instead of pressing the spacebar three times, just type between the two segments. Here’s an example:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <p>What will you learn&nbsp;&nbsp;&nbsp;today?</p> </body> </html>
Basically, just translates to «one space» in HTML.
Advertisement
- For example, let’s say you want three spaces between the words «What will you learn» and «today?» Instead of pressing the spacebar three times, just type between the two segments. Here’s an example:
-
3
Use other spacing characters as shortcuts. If you want to insert two spaces, four spaces, or indent the beginning of a line, you don’t have to type multiple times:
- Two spaces: Type  
- Four spaces: Type  
Advertisement
-
1
Open your HTML code. Another way to add more spaces to your code is to use the HTML <pre> tag. This tag essentially displays the text exactly as you type or paste it, spaces and all. Start by opening your code in a text editor like Notepad for Windows or TextEdit for macOS.
-
2
Type <pre> </pre> tags in the body of your document. Any text you want to keep preformatted with a particular amount of spaces and/or line breaks will go between these tags:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre> </pre> </body> </html>
-
3
Type or paste text exactly as intended between the «<pre>» and »<pre>» tags. In this example, we’re creating three spaces between words, as well as a line break. When pre-formatting text, any spaces between words, as well as line breaks you create by pressing «Enter» or «Return,» will be displayed on the webpage.[2]
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre>What will you learn today?</pre> </body> </html>
Advertisement
-
1
Open your HTML code in a text editor. Do you want to add extra space between paragraphs or other elements on the page? Pressing Enter or Return a bunch of times in your code won’t do the trick, but adding a line break tag <br> will! Start by opening the HTML code of the page you want to edit.
-
2
Type <br> on each line you want to make blank. For example, if you want to insert just one extra blank horizontal line between two paragraphs, you’d just type one <br> once. But if you wanted to add three line breaks, you could type it three times: <br><br><br>.
- In this example, we’re adding two lines of extra space between our sentences:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <pre>What will you learn today?</pre> <br><br> <p>You will learn a lot!</p> </body> </html>
- In this example, we’re adding two lines of extra space between our sentences:
Advertisement
-
1
Open an HTML document. Let’s say you want to indent the beginning a paragraph with some space—let’s say 10 pixels. The best way to do this would be to use CSS (Cascading Style Sheets). We’ll cover two ways to do this—one lets you indent each paragraph manually, and another indents all paragraphs at once. Start by opening up your HTML document in a text editor.
-
2
Indent a single paragraph. If we want to indent the paragraph in our example, we can do so by adding the text-indent property to its <p> tag. In this example, we’ll be indenting our paragraph by 10px:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> </head> <body> <p style="text-indent:10px">Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p> Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
- Since we added the text-indent property to just the first paragraph, that is the only paragraph that will be indented. Read on to learn how to indent all paragraphs on the page the same way instead of just one!
-
3
Create a style section for your CSS. If we want to indent all paragraphs on our page, we can do so by defining the paragraph style in CSS. The style section goes into the head of your HTML code, or on a separate style sheet. Let’s add ours to the head, which is between the <head> and </head> tags:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> <style> </style> </head> <body> <p style="text-indent:10px">Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p>Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
-
4
Type the indenting code into the style area. So, we want every paragraph to begin with 10px of space, not just one. This means we’ll need to create a style for the paragraph tag (<p>) that automatically adds 10px of space to the beginning of the first word in each paragraph. We’ll also want to remove the text-indent property from our original example, as it won’t be needed anymore. The property should look like this:
<!DOCTYPE html> <html> <head> <title>wikiHow: How-to instructions you can trust.</title> <style> p { text:indent: 10px; </style> </head> <body> <p>Welcome to wikiHow, the most trusted how-to site on the internet. wikiHow is where trusted research and expert knowledge come together.</p> <p>Since 2005, wikiHow has helped billions of people learn how to solve problems large and small. We work with credentialed experts, a team of trained researchers, and a devoted community to create the most reliable, comprehensive and delightful how-to content on the Internet.</p> </body> </html>
- You can adjust the number of spaces by typing a different number after «text-indent:».
- You can use unites other than pixels to define the size of your indent, such as percentage (i.e. «text-indent: 15%;») or measurements (e.g., «text-indent: 3mm;»).
-
5
Type <p> at the beginning of each paragraph. Since we’ve added specific instructions to indent the <p> tag, every paragraph on the page will be indented 2.5em. This goes for our existing paragraphs, and any new paragraphs we add to the page.
Advertisement
Sample HTML Code
Add New Question
-
Question
If I define lines of text as individual paragraphs, I get a blank space between lines. How do I get rid of that space?
Use a line break instead of the paragraph break.
-
Question
Can I specify more than one CSS class for any HTML element?
Yes, it’s very simple too. Inside the class attribute, add all the classes you want the element to have, separated by a space. For example, if you had a tag needing the classes «blueFont» and «underline,» the class attribute would be:
class=»blueFont underline»
-
Question
How do I space HTML code vertically?
The most basic is to simply style it with margin and/or padding. Alternatively, read into absolutely positioning an element, then you can specify exactly where on the page you want in, pixel for pixel.
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement
-
If your spaces turn into strange symbols on the web browser, it’s most likely caused by extra data stored in the word processing format not intended for online display. Avoid this by using a plaintext editor like Notepad or TextEdit.
-
CSS is a much more powerful and predictable way to lay out your page, including the spacing of your text.
Thanks for submitting a tip for review!
Advertisement
About This Article
Article SummaryX
1. Type « » to add a single space.
2. Type «&ensp» to add 2 spaces.
3. Type «&emsp» to add 4 spaces.
4. Use the non-breaking space (nbsp) 4 times to insert a tab.
5. Use «br» to add a line break.
Did this summary help you?
Thanks to all authors for creating a page that has been read 5,934,247 times.
Is this article up to date?
Серёжа СыроежкинКопирайтер
Бывают случаи, когда не хочется менять стили ради какого-то одного элемента, или необходимо вставить несколько пробелов в тексте из соображений эстетики или стилистики форматирования текста. И тут встает вопрос: «Как сделать пробел в HTML, чтобы текст красиво отображался, и при этом избежать избыточности кода?» Для этого рассмотрим виды пробелов и примеры их использования в HTML-коде.
Неразрывный пробел HTML
В случаях, когда нужно не отрывать части текста друг от друга, поможет неразрывный пробел, код которого выглядит следующим образом:
Это так называемый, «non breaking space».
Примеры использования неразрывного пробела:
и т. д.
т. к.
Е. Велтистов
11 тыс. рублей
Тонкий пробел
Код пробела HTML, который мы рассмотрели выше, является повсеместным. Но бывают случаи, когда обычный пробел оказывается слишком «большим». Тогда на смену ему приходит тонкий пробел. Это пробел, ширина которого составляет четверть кегля используемого шрифта. Обозначается тонкий пробел следующим образом:
 
и используется, по большей части, для разбиения разрядов чисел, например, «15 000 000 долларов» стоит записать так:
15 000 000 долларов
Примечание: Тонкий пробел может некорректно отображаться в старых версиях некоторых из браузеров, но во всех последних версиях работает на «ура».
Другие типы пробелов в языке HTML
Помимо наиболее актуальных видов, что мы рассмотрели выше, существуют и другие.
-   — пробел длины буквы N;
-   — пробел длины буквы M;
- ‌ — несоединяющий символ нулевой длины;
- ‍ — соединяющий символ нулевой длины.
Примечание: Если вам нужно поставить несколько пробелов подряд, обрамите текст тегом <pre>:
<pre>Конструктор сайтов «Нубекс»</pre>
Пробел при помощи CSS
Вариант создания табуляции (отступа) с помощью CSS можно решить с помощью следующего приёма:
<span style="padding: 0px 20px;"> </span>Конструктор сайтов «Нубекс»
Смотрите также:
From Wikipedia, the free encyclopedia
«Dot space» redirects here. For the animated film, see Dot in Space.
«␣» redirects here. Not to be confused with ⌴.
In computer programming, whitespace is any character or series of characters that represent horizontal or vertical space in typography. When rendered, a whitespace character does not correspond to a visible mark, but typically does occupy an area on a page. For example, the common whitespace symbol U+0020 SPACE (also ASCII 32) represents a blank space punctuation character in text, used as a word divider in Western scripts.
Overview[edit]
Relative widths of various spaces in Unicode
With many keyboard layouts, a whitespace character may be entered by pressing spacebar. Horizontal whitespace may also be entered on many keyboards with the Tab ↹ key, although the length of the space may vary. Vertical whitespace may be input by typing Return, which creates a ‘newline’ code sequence in most programs. In some systems ↵ Enter has a separate meaning but in others the two are conflated. Many early computer games used whitespace characters to draw a screen (e.g. Kingdom of Kroz).
The term «whitespace» is based on the appearance of the characters on ordinary paper. However, within an application, whitespace characters can be processed in the same way as any other character code and different programs may define their own semantics for the characters.
Unicode[edit]
The table below lists the twenty-five characters defined as whitespace («WSpace=Y», «WS») characters in the Unicode Character Database.[1] Seventeen use a definition of whitespace consistent with the algorithm for bidirectional writing («Bidirectional Character Type=WS») and are known as «Bidi-WS» characters. The remaining characters may also be used, but are not of this «Bidi» type.
Note: Depending on the browser and fonts used to view the following table, not all spaces may be displayed properly.
Unicode characters with property White_Space=yes[a][b] |
|||||||||
---|---|---|---|---|---|---|---|---|---|
Name | Code point | Width box | May break? | In IDN? |
Script | Block | General category |
Notes | |
character tabulation | U+0009 | 9 | Yes | No | Common | Basic Latin | Other, control |
HT, Horizontal Tab. HTML/XML named entity: 	 , LaTeX: tab , C escape: t
|
|
line feed | U+000A | 10 | Is a line-break | Common | Basic Latin | Other, control |
LF, Line feed. HTML/XML named entity: 
 , C escape: n
|
||
line tabulation | U+000B | 11 | Is a line-break | Common | Basic Latin | Other, control |
VT, Vertical Tab. C escape: v
|
||
form feed | U+000C | 12 | Is a line-break | Common | Basic Latin | Other, control |
FF, Form feed. C escape: f
|
||
carriage return | U+000D | 13 | Is a line-break | Common | Basic Latin | Other, control |
CR, Carriage return. C escape: r
|
||
space | U+0020 | 32 | Yes | No | Common | Basic Latin | Separator, space |
Most common (normal ASCII space). LaTeX:
|
|
next line | U+0085 | 133 | Is a line-break | Common | Latin-1 Supplement |
Other, control |
NEL, Next line. LaTeX: \
|
||
no-break space | U+00A0 | 160 | No | No | Common | Latin-1 Supplement |
Separator, space |
Non-breaking space: identical to U+0020, but not a point at which a line may be broken. HTML/XML named entity: ,   LaTeX: ~
|
|
ogham space mark | U+1680 | 5760 | Yes | No | Ogham | Ogham | Separator, space |
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. | |
en quad | U+2000 | 8192 | Yes | No | Common | General Punctuation |
Separator, space |
Width of one en. U+2002 is canonically equivalent to this character; U+2002 is preferred. | |
em quad | U+2001 | 8193 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mutton quad». Width of one em. U+2003 is canonically equivalent to this character; U+2003 is preferred. | |
en space | U+2002 | 8194 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «nut». Width of one en. U+2000 En Quad is canonically equivalent to this character; U+2002 is preferred. HTML/XML named entity:   , LaTeX: enspace (the LaTeX en space is a no-break space)
|
|
em space | U+2003 | 8195 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mutton». Width of one em. U+2001 Em Quad is canonically equivalent to this character; U+2003 is preferred. HTML/XML named entity:   , LaTeX: quad
|
|
three-per-em space | U+2004 | 8196 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «thick space». One third of an em wide. HTML/XML named entity:   , LaTeX: ; (the LaTeX thick space is a no-break space)
|
|
four-per-em space | U+2005 | 8197 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mid space». One fourth of an em wide. HTML/XML named entity:  
|
|
six-per-em space | U+2006 | 8198 | Yes | No | Common | General Punctuation |
Separator, space |
One sixth of an em wide. In computer typography, sometimes equated to U+2009. | |
figure space | U+2007 | 8199 | No | No | Common | General Punctuation |
Separator, space |
Figure space. In fonts with monospaced digits, equal to the width of one digit. HTML/XML named entity:  
|
|
punctuation space | U+2008 | 8200 | Yes | No | Common | General Punctuation |
Separator, space |
As wide as the narrow punctuation in a font, i.e. the advance width of the period or comma.[2] HTML/XML named entity:  
|
|
thin space | U+2009 | 8201 | Yes | No | Common | General Punctuation |
Separator, space |
Thin space; one-fifth (sometimes one-sixth) of an em wide. Recommended for use as a thousands separator for measures made with SI units. Unlike U+2002 to U+2008, its width may get adjusted in typesetting.[3] HTML/XML named entity:   ,   , LaTeX: , (the LaTeX thin space is a no-break space)
|
|
hair space | U+200A | 8202 | Yes | No | Common | General Punctuation |
Separator, space |
Thinner than a thin space. HTML/XML named entity:     (does not work in all browsers)
|
|
line separator | U+2028 | 8232 | Is a line-break | Common | General Punctuation |
Separator, line |
|||
paragraph separator | U+2029 | 8233 | Is a line-break | Common | General Punctuation |
Separator, paragraph |
|||
narrow no-break space | U+202F | 8239 | No | No | Common | General Punctuation |
Separator, space |
Narrow no-break space. Similar in function to U+00A0 No-Break Space. When used with Mongolian, its width is usually one third of the normal space; in other context, its width sometimes resembles that of the Thin Space (U+2009). LaTeX: ,
|
|
medium mathematical space | U+205F | 8287 | Yes | No | Common | General Punctuation |
Separator, space |
MMSP. Used in mathematical formulae. Four-eighteenths of an em.[4] In mathematical typography, the widths of spaces are usually given in integral multiples of an eighteenth of an em, and 4/18 em may be used in several situations, for example between the a and the + and between the + and the b in the expression a + b.[5] HTML/XML named entity:   , LaTeX: : (the LaTeX medium space is a no-break space)
|
|
ideographic space | U+3000 | 12288 | Yes | No | Common | CJK Symbols and Punctuation |
Separator, space |
As wide as a CJK character cell (fullwidth). Used, for example, in tai tou. |
Related Unicode characters with property White_Space=no |
|||||||||
---|---|---|---|---|---|---|---|---|---|
Name | Code point | Width box | May break? | In IDN? |
Script | Block | General category |
Notes | |
mongolian vowel separator | U+180E | 6158 | | Yes | No | Mongolian | Mongolian | Other, Format |
MVS. A narrow space character, used in Mongolian to cause the final two characters of a word to take on different shapes.[6] It is no longer classified as space character (i.e. in Zs category) in Unicode 6.3.0, even though it was in previous versions of the standard. |
zero width space | U+200B | 8203 | | Yes | No | ? | General Punctuation |
Other, Format |
ZWSP, zero-width space. Used to indicate word boundaries to text processing systems when using scripts that do not use explicit spacing. It is similar to the soft hyphen, with the difference that the latter is used to indicate syllable boundaries, and should display a visible hyphen when the line breaks at it. HTML/XML named entity: ​ [7][c]
|
zero width non-joiner | U+200C | 8204 | | Yes | Context-dependent[12] | ? | General Punctuation |
Other, Format |
ZWNJ, zero-width non-joiner. When placed between two characters that would otherwise be connected, a ZWNJ causes them to be printed in their final and initial forms, respectively. HTML/XML named entity: ‌
|
zero width joiner | U+200D | 8205 | | Yes | Context-dependent[13] | ? | General Punctuation |
Other, Format |
ZWJ, zero-width joiner. When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms. Can also be used to display joining forms in isolation. Depending on whether a ligature or conjunct is expected by default, can either induce (as in emoji and in Sinhala) or suppress (as in Devanagari) substitution with a single glyph, whilst still permitting use of individual joining forms (unlike ZWNJ). HTML/XML named entity: ‍
|
word joiner | U+2060 | 8288 | | No | No | ? | General Punctuation |
Other, Format |
WJ, word joiner. Similar to U+200B, but not a point at which a line may be broken. HTML/XML named entity: ⁠
|
zero width non-breaking space | U+FEFF | 65279 | | No | No | ? | Arabic Presentation Forms-B |
Other, Format |
Zero-width non-breaking space. Used primarily as a Byte Order Mark. Use as an indication of non-breaking is deprecated as of Unicode 3.2; see U+2060 instead. |
- ^ White_Space is a binary Unicode property.[14]
- ^ «Unicode 15.0 UCD: PropList.txt». 2022-08-05. Retrieved 2022-09-16.
- ^ Although
​
is one HTML5 named entity for U+200B, the additional namesNegativeMediumSpace
,NegativeThickSpace
,NegativeThinSpace
andNegativeVeryThinSpace
(which are names used in the Wolfram Language for negative-advance spaces, which it maps to the Private Use Area)[8][9][10][11] are also defined by HTML5 as aliases for U+200B (e.g.​
).[7]
Substitute images[edit]
Unicode also provides some visible characters that can be used to represent various whitespace characters, in contexts where a visible symbol must be displayed:
Code | Decimal | Name | Block | Display | Description |
---|---|---|---|---|---|
U+00B7 | 183 | Middle dot | Latin-1 Supplement | · | Interpunct Named entity: ·
|
U+21A1 | 8609 | Downwards two headed arrow | Arrows | ↡ | ECMA-17 / ISO 2047 symbol for form feed (page break)[15] |
U+2261 | 8810 | Identical to | Mathematical Operators |
≡ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for line feed[15] |
U+237D | 9085 | Shouldered open box | Miscellaneous Technical | ⍽ | Used to indicate a NBSP |
U+23CE | 9166 | Return symbol | Miscellaneous Technical | ⏎ | Symbol for a return key, which enters a line break |
U+2409 | 9225 | Symbol for horizontal tabulation | Control Pictures | ␉ | Substitutes for a tab character |
U+240A | 9226 | Symbol for line feed | Control Pictures | ␊ | Substitutes for a line feed |
U+240B | 9227 | Symbol for vertical tabulation | Control Pictures | ␋ | Substitutes for a vertical tab (line tab) |
U+240C | 9228 | Symbol for form feed | Control Pictures | ␌ | Substitutes for a form feed (page break) |
U+240D | 9229 | Symbol for carriage return | Control Pictures | ␍ | Substitutes for a carriage return |
U+2420 | 9248 | Symbol for space | Control Pictures | ␠ | Substitutes for an ASCII space |
U+2422 | 9250 | Blank symbol | Control Pictures | ␢ | aka «substitute blank»,[16] used in BCDIC,[16] EBCDIC,[16] ASCII-1963[16][17] etc. as a symbol for the word separator |
U+2423 | 9251 | Open box | Control Pictures | ␣ | Used in block letter handwriting at least since the 1980s when it is necessary to explicitly indicate the number of space characters (e.g. when programming with pen and paper). Used in a textbook (published 1982, 1984, 1985, 1988 by Springer-Verlag) on Modula-2,[18] a programming language where space codes require explicit indication. Also used in the keypad[n 1] of the Texas Instruments’ TI-8x series of graphing calculators. Named entity: ␣
|
U+2424 | 9252 | Symbol for newline | Control Pictures |  | Substitutes for a line break |
U+25B3 | 9651 | White up-pointing triangle | Geometric Shapes | △ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for the ASCII space[15] |
U+2A5B | 10843 | Logical Or with middle stem | Supplemental Mathematical Operators |
⩛ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for vertical tab (line tab)[15] |
U+2AAA | 10922 | Smaller than | Supplemental Mathematical Operators |
⪪ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for carriage return[15] |
U+2AAB | 10923 | Larger than | Supplemental Mathematical Operators |
⪫ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for the tab character[15] |
U+3037 | 12343 | Ideographic Telegraph Line Feed Separator Symbol |
CJK Symbols and Punctuation |
〷 | Graphic used for code 9999 in Chinese telegraph code, representing a line feed |
- ^ Above the zero «0» or negative «(‒)» key.
- Exact space
- The Cambridge Z88 provided a special «exact space» (code point 160 aka 0xA0) (invokable by key shortcut ⌑+SPACE[19]), displayed as «…» by the operating system’s display driver.[20][21] It was therefore also known as «dot space» in conjunction with BBC BASIC.[20][21]
- Under code point 224 (0xE0) the computer also provided a special three-character-cells-wide SPACE symbol
"SPC"
(analogous to Unicode’s single-cell-wide U+2420).[20][21]
Non-space blanks[edit]
- The Braille Patterns Unicode block contains U+2800 ⠀ BRAILLE PATTERN BLANK, a Braille pattern with no dots raised. Some fonts display the character as a fixed-width blank, however the Unicode standard explicitly states that it does not act as a space.[22]
- Unicode’s coverage of the Korean alphabet includes several code points which represent the absence of a written letter, and thus do not display a glyph:
- Unicode includes a Hangul Filler character in the Hangul Compatibility Jamo block (U+3164 ㅤ HANGUL FILLER). This is classified as a letter, but displayed as an empty space, like a Hangul block containing no jamo. It is used in KS X 1001 Hangul combining sequences to introduce them or denote the absence of a letter in a position, but not in Unicode’s combining jamo system.[23]
- Unicode’s combining jamo system uses similar Hangul Choseong Filler and Hangul Jungseong Filler characters to denote the absence of a letter in initial or medial position within a syllable block, which are included in the Hangul Jamo block (U+115F ᅟ HANGUL CHOSEONG FILLER, U+1160 ᅠ HANGUL JUNGSEONG FILLER).[24]
- Additionally, a Halfwidth Hangul Filler is included in the Halfwidth and Fullwidth Forms (U+FFA0 ᅠ HALFWIDTH HANGUL FILLER), which is used when mapping from encodings which include characters from both Johab (or Wansung) and N-byte Hangul (or its EBCDIC counterpart), such as IBM-933, which includes both Johab and EBCDIC fillers.[25][26]
Whitespace and digital typography[edit]
On-screen display[edit]
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.
Many of the Unicode space characters were created for compatibility with classic print typography.[27]
Even if digital typography has algorithmic kerning and justification, those space characters can be used to supplement the electronic formatting when needed.
Variable-width general-purpose space[edit]
In computer character encodings, there is a normal general-purpose space (Unicode character U+0020) 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.
Hair spaces around dashes[edit]
Em dashes used as parenthetical dividers, and en dashes when used as word joiners, are usually set continuous with the text.[28] However, such a dash can optionally be surrounded with a hair space, U+200A, or thin space, U+2009. The hair space can be written in HTML by using the numeric character references
or
, or the named entity  
, but is not universally supported in browsers yet, as of 2016.[which?] The thin space is named entity  
and numeric references
or
. These spaces are much thinner than a normal space (except in a monospaced (non-proportional) font), with the hair space being the thinner of the two.
Normal space with em dash | left — right |
---|---|
Thin space with em dash | left — right |
Hair space with em dash | left — right |
No space with em dash | left—right |
Computing applications[edit]
Programming languages[edit]
In programming language syntax, spaces are frequently used to explicitly separate tokens. In most languages multiple whitespace characters are treated the same as a single whitespace character (outside of quoted strings); such languages are called free-form. In a few languages, including Haskell, occam, ABC, and Python, whitespace and indentation are used for syntactical purposes. In the satirical language called Whitespace, whitespace characters are the only valid characters for programming, while any other characters are ignored.
Excessive use of whitespace, especially trailing whitespace at the end of lines, is considered a nuisance. However correct use of whitespace can make the code easier to read and help group related logic.
Most languages only recognize ASCII characters as whitespace, or in some cases Unicode newlines as well, but not most of the characters listed above. The C language defines whitespace characters to be «space, horizontal tab, new-line, vertical tab, and form-feed».[29] The HTTP network protocol requires different types of whitespace to be used in different parts of the protocol, such as: only the space character in the status line, CRLF at the end of a line, and «linear whitespace» in header values.[30]
Command line user interfaces[edit]
In commands processed by command processors, e.g., in scripts and typed in, the space character can cause problems as it has two possible functions: as part of a command or parameter, or as a parameter or name separator. Ambiguity can be prevented either by prohibiting embedded spaces, or by enclosing a name with embedded spaces between quote characters.
Markup languages[edit]
Some markup languages, such as SGML, preserve whitespace as written.
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 these languages, unnecessary whitespace increases the file size, and so may slow network transfers. On the other hand, unnecessary whitespace can also inconspicuously mark code, similar to, but less obvious than comments in code. This can be desirable to prove an infringement of license or copyright that was committed by copying and pasting.
In XML attribute values, sequences of whitespace characters are treated as a single space when the document is read by a parser.[31] 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 instruct 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.[32] 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.
File names[edit]
Such usage is similar to multiword file names written for operating systems and applications that are confused by embedded space codes—such file names instead use an underscore (_) as a word separator, as_in_this_phrase.
Another such symbol was U+2422 ␢ BLANK SYMBOL. This was used in the early years of computer programming when writing on coding forms. Keypunch operators immediately recognized the symbol as an «explicit space».[16] It was used in BCDIC,[16] EBCDIC,[16] and ASCII-1963.[16]
See also[edit]
- Carriage return
- Em (typography)
- En (typography)
- Form feed
- Indent style
- Line feed
- Newline
- Programming style
- Prosigns for Morse code
- Regular expression#Character classes for the white-space character class.
- Space bar
- Space (punctuation)
- Tab key
- Trimming (computer programming)
- Whitespace (programming language)
- Zero-width space
References[edit]
- ^ «The Unicode Standard». Unicode Consortium.
- ^ «Character design standards – space characters». Character design standards. Microsoft. 1998–1999. Archived from the original on August 23, 2000. Retrieved 2009-05-18.
- ^ The Unicode Standard 5.0, printed edition, p. 205; also available at «Chapter 6 — Writing Systems and Punctuation» (PDF). The Unicode Standard 5.0, electronic edition. Unicode Consortium. 2006-07-14. p. 11 (205). Retrieved 2022-12-22.
- ^ «General Punctuation» (PDF). The Unicode Standard 5.1. Unicode Inc. 1991–2008. Retrieved 2009-05-13.
- ^ Sargent, Murray III (2006-08-29). «Unicode Nearly Plain Text Encoding of Mathematics (Version 2)». Unicode Technical Note #28. Unicode Inc. pp. 19–20. Retrieved 2009-05-19.
- ^ Gillam, Richard (2002). Unicode Demystified: A Practical Programmer’s Guide to the Encoding Standard. Addison-Wesley. ISBN 0-201-70052-2.
- ^ a b Hickson, Ian. «12.5 Named character references». HTML Standard. WHATWG.
- ^ Wolfram. «[NegativeThickSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeMediumSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeThinSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeVeryThinSpace]». Wolfram Language Documentation.
- ^ Faltstrom, P., ed. (August 2010). «Zero Width Non-Joiner». The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.1. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
- ^ Faltstrom, P., ed. (August 2010). «Zero Width Joiner». The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.2. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
- ^
«Unicode Standard Annex #44, Unicode Character Database». - ^ a b c d e f European Computer Manufacturers Association (1968-11-28). Graphic Representation of the Control Characters of the ECMA 7-Bit Coded Character Set for Information Interchange (PDF). ECMA-17.
- ^ a b c d e f g h Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. pp. 41, 47, 52, 102–103, 117, 119, 130, 132, 141, 148, 150–151, 212, 424. ISBN 978-0-201-14460-4. LCCN 77-90165. Retrieved 2016-05-22. [1]
- ^ «American Standard Code for Information Interchange, ASA X3.4-1963». American Standards Association (ASA). 1963-06-17.
- ^ Niklaus Wirth, Programming in Modula-2
- ^ «Cambridge Z88 User Guide». 4.7 (4th ed.). Cambridge Computer Limited. 2016 [1987]. Basic concepts — The keyboard. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ a b c «Cambridge Z88 User Guide». 4.0 (4th ed.). Cambridge Computer Limited. 1987. Appendix D. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ a b c «Cambridge Z88 User Guide». 4.7 (4th ed.). Cambridge Computer Limited. 2015 [1987]. Appendix D. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ Unicode chart U+2800, braille patterns
- ^ Chung, Jaemin (2017-03-30). Proposal to add an informative note to U+3164 HANGUL FILLER (PDF). Unicode Consortium. UTC L2/17-081.
- ^ Hangul Jamo (PDF). Unicode Consortium. 2020-10-25.
- ^ «ibm-933_P110-1995». ICU Demonstration — Converter Explorer. International Components for Unicode.
- ^ «ibm-933_P110-1995 (lead bytes 0E84)». ICU Demonstration — Converter Explorer. International Components for Unicode.
- ^ «Chapter 6 — Writing Systems and Punctuation» (PDF). The Unicode Standard 15.0, electronic edition. Unicode Consortium. 2022-09-13. pp. 12-13 (267-268). Retrieved 2022-12-23.
The fixed-width space characters (U+2000..U+200A) are derived from conventional (hot lead) typography. Algorithmic kerning and justification in computerized typography do not use these characters. However, where they are used (for example, in typesetting mathematical formulae), their width is generally font-specified, and they typically do not expand during justification. The exception is U+2009 thin space, which sometimes gets adjusted.
- ^ Usage of the different dash types is illustrated, e.g., in The Chicago Manual of Style, §§ 6.80, 6.83–6.86
- ^ http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf Section 6.4, paragraph 3
- ^ Fielding, R.; et al. (June 1999), «2.2 Basic Rules», Hypertext Transfer Protocol—HTTP/1.1, doi:10.17487/RFC2616, RFC 2616
- ^ «3.3.3 Attribute-Value Normalization». Extensible Markup Language (XML) 1.0 (Fifth Edition). World Wide Web Consortium.
- ^ «9.1 Whitespace». W3CHTML 4.01 Specification. World Wide Web Consortium.
External links[edit]
- Property List of Unicode Character Database
From Wikipedia, the free encyclopedia
«Dot space» redirects here. For the animated film, see Dot in Space.
«␣» redirects here. Not to be confused with ⌴.
In computer programming, whitespace is any character or series of characters that represent horizontal or vertical space in typography. When rendered, a whitespace character does not correspond to a visible mark, but typically does occupy an area on a page. For example, the common whitespace symbol U+0020 SPACE (also ASCII 32) represents a blank space punctuation character in text, used as a word divider in Western scripts.
Overview[edit]
Relative widths of various spaces in Unicode
With many keyboard layouts, a whitespace character may be entered by pressing spacebar. Horizontal whitespace may also be entered on many keyboards with the Tab ↹ key, although the length of the space may vary. Vertical whitespace may be input by typing Return, which creates a ‘newline’ code sequence in most programs. In some systems ↵ Enter has a separate meaning but in others the two are conflated. Many early computer games used whitespace characters to draw a screen (e.g. Kingdom of Kroz).
The term «whitespace» is based on the appearance of the characters on ordinary paper. However, within an application, whitespace characters can be processed in the same way as any other character code and different programs may define their own semantics for the characters.
Unicode[edit]
The table below lists the twenty-five characters defined as whitespace («WSpace=Y», «WS») characters in the Unicode Character Database.[1] Seventeen use a definition of whitespace consistent with the algorithm for bidirectional writing («Bidirectional Character Type=WS») and are known as «Bidi-WS» characters. The remaining characters may also be used, but are not of this «Bidi» type.
Note: Depending on the browser and fonts used to view the following table, not all spaces may be displayed properly.
Unicode characters with property White_Space=yes[a][b] |
|||||||||
---|---|---|---|---|---|---|---|---|---|
Name | Code point | Width box | May break? | In IDN? |
Script | Block | General category |
Notes | |
character tabulation | U+0009 | 9 | Yes | No | Common | Basic Latin | Other, control |
HT, Horizontal Tab. HTML/XML named entity: 	 , LaTeX: tab , C escape: t
|
|
line feed | U+000A | 10 | Is a line-break | Common | Basic Latin | Other, control |
LF, Line feed. HTML/XML named entity: 
 , C escape: n
|
||
line tabulation | U+000B | 11 | Is a line-break | Common | Basic Latin | Other, control |
VT, Vertical Tab. C escape: v
|
||
form feed | U+000C | 12 | Is a line-break | Common | Basic Latin | Other, control |
FF, Form feed. C escape: f
|
||
carriage return | U+000D | 13 | Is a line-break | Common | Basic Latin | Other, control |
CR, Carriage return. C escape: r
|
||
space | U+0020 | 32 | Yes | No | Common | Basic Latin | Separator, space |
Most common (normal ASCII space). LaTeX:
|
|
next line | U+0085 | 133 | Is a line-break | Common | Latin-1 Supplement |
Other, control |
NEL, Next line. LaTeX: \
|
||
no-break space | U+00A0 | 160 | No | No | Common | Latin-1 Supplement |
Separator, space |
Non-breaking space: identical to U+0020, but not a point at which a line may be broken. HTML/XML named entity: ,   LaTeX: ~
|
|
ogham space mark | U+1680 | 5760 | Yes | No | Ogham | Ogham | Separator, space |
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. | |
en quad | U+2000 | 8192 | Yes | No | Common | General Punctuation |
Separator, space |
Width of one en. U+2002 is canonically equivalent to this character; U+2002 is preferred. | |
em quad | U+2001 | 8193 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mutton quad». Width of one em. U+2003 is canonically equivalent to this character; U+2003 is preferred. | |
en space | U+2002 | 8194 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «nut». Width of one en. U+2000 En Quad is canonically equivalent to this character; U+2002 is preferred. HTML/XML named entity:   , LaTeX: enspace (the LaTeX en space is a no-break space)
|
|
em space | U+2003 | 8195 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mutton». Width of one em. U+2001 Em Quad is canonically equivalent to this character; U+2003 is preferred. HTML/XML named entity:   , LaTeX: quad
|
|
three-per-em space | U+2004 | 8196 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «thick space». One third of an em wide. HTML/XML named entity:   , LaTeX: ; (the LaTeX thick space is a no-break space)
|
|
four-per-em space | U+2005 | 8197 | Yes | No | Common | General Punctuation |
Separator, space |
Also known as «mid space». One fourth of an em wide. HTML/XML named entity:  
|
|
six-per-em space | U+2006 | 8198 | Yes | No | Common | General Punctuation |
Separator, space |
One sixth of an em wide. In computer typography, sometimes equated to U+2009. | |
figure space | U+2007 | 8199 | No | No | Common | General Punctuation |
Separator, space |
Figure space. In fonts with monospaced digits, equal to the width of one digit. HTML/XML named entity:  
|
|
punctuation space | U+2008 | 8200 | Yes | No | Common | General Punctuation |
Separator, space |
As wide as the narrow punctuation in a font, i.e. the advance width of the period or comma.[2] HTML/XML named entity:  
|
|
thin space | U+2009 | 8201 | Yes | No | Common | General Punctuation |
Separator, space |
Thin space; one-fifth (sometimes one-sixth) of an em wide. Recommended for use as a thousands separator for measures made with SI units. Unlike U+2002 to U+2008, its width may get adjusted in typesetting.[3] HTML/XML named entity:   ,   , LaTeX: , (the LaTeX thin space is a no-break space)
|
|
hair space | U+200A | 8202 | Yes | No | Common | General Punctuation |
Separator, space |
Thinner than a thin space. HTML/XML named entity:     (does not work in all browsers)
|
|
line separator | U+2028 | 8232 | Is a line-break | Common | General Punctuation |
Separator, line |
|||
paragraph separator | U+2029 | 8233 | Is a line-break | Common | General Punctuation |
Separator, paragraph |
|||
narrow no-break space | U+202F | 8239 | No | No | Common | General Punctuation |
Separator, space |
Narrow no-break space. Similar in function to U+00A0 No-Break Space. When used with Mongolian, its width is usually one third of the normal space; in other context, its width sometimes resembles that of the Thin Space (U+2009). LaTeX: ,
|
|
medium mathematical space | U+205F | 8287 | Yes | No | Common | General Punctuation |
Separator, space |
MMSP. Used in mathematical formulae. Four-eighteenths of an em.[4] In mathematical typography, the widths of spaces are usually given in integral multiples of an eighteenth of an em, and 4/18 em may be used in several situations, for example between the a and the + and between the + and the b in the expression a + b.[5] HTML/XML named entity:   , LaTeX: : (the LaTeX medium space is a no-break space)
|
|
ideographic space | U+3000 | 12288 | Yes | No | Common | CJK Symbols and Punctuation |
Separator, space |
As wide as a CJK character cell (fullwidth). Used, for example, in tai tou. |
Related Unicode characters with property White_Space=no |
|||||||||
---|---|---|---|---|---|---|---|---|---|
Name | Code point | Width box | May break? | In IDN? |
Script | Block | General category |
Notes | |
mongolian vowel separator | U+180E | 6158 | | Yes | No | Mongolian | Mongolian | Other, Format |
MVS. A narrow space character, used in Mongolian to cause the final two characters of a word to take on different shapes.[6] It is no longer classified as space character (i.e. in Zs category) in Unicode 6.3.0, even though it was in previous versions of the standard. |
zero width space | U+200B | 8203 | | Yes | No | ? | General Punctuation |
Other, Format |
ZWSP, zero-width space. Used to indicate word boundaries to text processing systems when using scripts that do not use explicit spacing. It is similar to the soft hyphen, with the difference that the latter is used to indicate syllable boundaries, and should display a visible hyphen when the line breaks at it. HTML/XML named entity: ​ [7][c]
|
zero width non-joiner | U+200C | 8204 | | Yes | Context-dependent[12] | ? | General Punctuation |
Other, Format |
ZWNJ, zero-width non-joiner. When placed between two characters that would otherwise be connected, a ZWNJ causes them to be printed in their final and initial forms, respectively. HTML/XML named entity: ‌
|
zero width joiner | U+200D | 8205 | | Yes | Context-dependent[13] | ? | General Punctuation |
Other, Format |
ZWJ, zero-width joiner. When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms. Can also be used to display joining forms in isolation. Depending on whether a ligature or conjunct is expected by default, can either induce (as in emoji and in Sinhala) or suppress (as in Devanagari) substitution with a single glyph, whilst still permitting use of individual joining forms (unlike ZWNJ). HTML/XML named entity: ‍
|
word joiner | U+2060 | 8288 | | No | No | ? | General Punctuation |
Other, Format |
WJ, word joiner. Similar to U+200B, but not a point at which a line may be broken. HTML/XML named entity: ⁠
|
zero width non-breaking space | U+FEFF | 65279 | | No | No | ? | Arabic Presentation Forms-B |
Other, Format |
Zero-width non-breaking space. Used primarily as a Byte Order Mark. Use as an indication of non-breaking is deprecated as of Unicode 3.2; see U+2060 instead. |
- ^ White_Space is a binary Unicode property.[14]
- ^ «Unicode 15.0 UCD: PropList.txt». 2022-08-05. Retrieved 2022-09-16.
- ^ Although
​
is one HTML5 named entity for U+200B, the additional namesNegativeMediumSpace
,NegativeThickSpace
,NegativeThinSpace
andNegativeVeryThinSpace
(which are names used in the Wolfram Language for negative-advance spaces, which it maps to the Private Use Area)[8][9][10][11] are also defined by HTML5 as aliases for U+200B (e.g.​
).[7]
Substitute images[edit]
Unicode also provides some visible characters that can be used to represent various whitespace characters, in contexts where a visible symbol must be displayed:
Code | Decimal | Name | Block | Display | Description |
---|---|---|---|---|---|
U+00B7 | 183 | Middle dot | Latin-1 Supplement | · | Interpunct Named entity: ·
|
U+21A1 | 8609 | Downwards two headed arrow | Arrows | ↡ | ECMA-17 / ISO 2047 symbol for form feed (page break)[15] |
U+2261 | 8810 | Identical to | Mathematical Operators |
≡ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for line feed[15] |
U+237D | 9085 | Shouldered open box | Miscellaneous Technical | ⍽ | Used to indicate a NBSP |
U+23CE | 9166 | Return symbol | Miscellaneous Technical | ⏎ | Symbol for a return key, which enters a line break |
U+2409 | 9225 | Symbol for horizontal tabulation | Control Pictures | ␉ | Substitutes for a tab character |
U+240A | 9226 | Symbol for line feed | Control Pictures | ␊ | Substitutes for a line feed |
U+240B | 9227 | Symbol for vertical tabulation | Control Pictures | ␋ | Substitutes for a vertical tab (line tab) |
U+240C | 9228 | Symbol for form feed | Control Pictures | ␌ | Substitutes for a form feed (page break) |
U+240D | 9229 | Symbol for carriage return | Control Pictures | ␍ | Substitutes for a carriage return |
U+2420 | 9248 | Symbol for space | Control Pictures | ␠ | Substitutes for an ASCII space |
U+2422 | 9250 | Blank symbol | Control Pictures | ␢ | aka «substitute blank»,[16] used in BCDIC,[16] EBCDIC,[16] ASCII-1963[16][17] etc. as a symbol for the word separator |
U+2423 | 9251 | Open box | Control Pictures | ␣ | Used in block letter handwriting at least since the 1980s when it is necessary to explicitly indicate the number of space characters (e.g. when programming with pen and paper). Used in a textbook (published 1982, 1984, 1985, 1988 by Springer-Verlag) on Modula-2,[18] a programming language where space codes require explicit indication. Also used in the keypad[n 1] of the Texas Instruments’ TI-8x series of graphing calculators. Named entity: ␣
|
U+2424 | 9252 | Symbol for newline | Control Pictures |  | Substitutes for a line break |
U+25B3 | 9651 | White up-pointing triangle | Geometric Shapes | △ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for the ASCII space[15] |
U+2A5B | 10843 | Logical Or with middle stem | Supplemental Mathematical Operators |
⩛ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for vertical tab (line tab)[15] |
U+2AAA | 10922 | Smaller than | Supplemental Mathematical Operators |
⪪ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for carriage return[15] |
U+2AAB | 10923 | Larger than | Supplemental Mathematical Operators |
⪫ | Amongst other uses, is the ECMA-17 / ISO 2047 symbol for the tab character[15] |
U+3037 | 12343 | Ideographic Telegraph Line Feed Separator Symbol |
CJK Symbols and Punctuation |
〷 | Graphic used for code 9999 in Chinese telegraph code, representing a line feed |
- ^ Above the zero «0» or negative «(‒)» key.
- Exact space
- The Cambridge Z88 provided a special «exact space» (code point 160 aka 0xA0) (invokable by key shortcut ⌑+SPACE[19]), displayed as «…» by the operating system’s display driver.[20][21] It was therefore also known as «dot space» in conjunction with BBC BASIC.[20][21]
- Under code point 224 (0xE0) the computer also provided a special three-character-cells-wide SPACE symbol
"SPC"
(analogous to Unicode’s single-cell-wide U+2420).[20][21]
Non-space blanks[edit]
- The Braille Patterns Unicode block contains U+2800 ⠀ BRAILLE PATTERN BLANK, a Braille pattern with no dots raised. Some fonts display the character as a fixed-width blank, however the Unicode standard explicitly states that it does not act as a space.[22]
- Unicode’s coverage of the Korean alphabet includes several code points which represent the absence of a written letter, and thus do not display a glyph:
- Unicode includes a Hangul Filler character in the Hangul Compatibility Jamo block (U+3164 ㅤ HANGUL FILLER). This is classified as a letter, but displayed as an empty space, like a Hangul block containing no jamo. It is used in KS X 1001 Hangul combining sequences to introduce them or denote the absence of a letter in a position, but not in Unicode’s combining jamo system.[23]
- Unicode’s combining jamo system uses similar Hangul Choseong Filler and Hangul Jungseong Filler characters to denote the absence of a letter in initial or medial position within a syllable block, which are included in the Hangul Jamo block (U+115F ᅟ HANGUL CHOSEONG FILLER, U+1160 ᅠ HANGUL JUNGSEONG FILLER).[24]
- Additionally, a Halfwidth Hangul Filler is included in the Halfwidth and Fullwidth Forms (U+FFA0 ᅠ HALFWIDTH HANGUL FILLER), which is used when mapping from encodings which include characters from both Johab (or Wansung) and N-byte Hangul (or its EBCDIC counterpart), such as IBM-933, which includes both Johab and EBCDIC fillers.[25][26]
Whitespace and digital typography[edit]
On-screen display[edit]
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.
Many of the Unicode space characters were created for compatibility with classic print typography.[27]
Even if digital typography has algorithmic kerning and justification, those space characters can be used to supplement the electronic formatting when needed.
Variable-width general-purpose space[edit]
In computer character encodings, there is a normal general-purpose space (Unicode character U+0020) 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.
Hair spaces around dashes[edit]
Em dashes used as parenthetical dividers, and en dashes when used as word joiners, are usually set continuous with the text.[28] However, such a dash can optionally be surrounded with a hair space, U+200A, or thin space, U+2009. The hair space can be written in HTML by using the numeric character references
or
, or the named entity  
, but is not universally supported in browsers yet, as of 2016.[which?] The thin space is named entity  
and numeric references
or
. These spaces are much thinner than a normal space (except in a monospaced (non-proportional) font), with the hair space being the thinner of the two.
Normal space with em dash | left — right |
---|---|
Thin space with em dash | left — right |
Hair space with em dash | left — right |
No space with em dash | left—right |
Computing applications[edit]
Programming languages[edit]
In programming language syntax, spaces are frequently used to explicitly separate tokens. In most languages multiple whitespace characters are treated the same as a single whitespace character (outside of quoted strings); such languages are called free-form. In a few languages, including Haskell, occam, ABC, and Python, whitespace and indentation are used for syntactical purposes. In the satirical language called Whitespace, whitespace characters are the only valid characters for programming, while any other characters are ignored.
Excessive use of whitespace, especially trailing whitespace at the end of lines, is considered a nuisance. However correct use of whitespace can make the code easier to read and help group related logic.
Most languages only recognize ASCII characters as whitespace, or in some cases Unicode newlines as well, but not most of the characters listed above. The C language defines whitespace characters to be «space, horizontal tab, new-line, vertical tab, and form-feed».[29] The HTTP network protocol requires different types of whitespace to be used in different parts of the protocol, such as: only the space character in the status line, CRLF at the end of a line, and «linear whitespace» in header values.[30]
Command line user interfaces[edit]
In commands processed by command processors, e.g., in scripts and typed in, the space character can cause problems as it has two possible functions: as part of a command or parameter, or as a parameter or name separator. Ambiguity can be prevented either by prohibiting embedded spaces, or by enclosing a name with embedded spaces between quote characters.
Markup languages[edit]
Some markup languages, such as SGML, preserve whitespace as written.
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 these languages, unnecessary whitespace increases the file size, and so may slow network transfers. On the other hand, unnecessary whitespace can also inconspicuously mark code, similar to, but less obvious than comments in code. This can be desirable to prove an infringement of license or copyright that was committed by copying and pasting.
In XML attribute values, sequences of whitespace characters are treated as a single space when the document is read by a parser.[31] 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 instruct 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.[32] 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.
File names[edit]
Such usage is similar to multiword file names written for operating systems and applications that are confused by embedded space codes—such file names instead use an underscore (_) as a word separator, as_in_this_phrase.
Another such symbol was U+2422 ␢ BLANK SYMBOL. This was used in the early years of computer programming when writing on coding forms. Keypunch operators immediately recognized the symbol as an «explicit space».[16] It was used in BCDIC,[16] EBCDIC,[16] and ASCII-1963.[16]
See also[edit]
- Carriage return
- Em (typography)
- En (typography)
- Form feed
- Indent style
- Line feed
- Newline
- Programming style
- Prosigns for Morse code
- Regular expression#Character classes for the white-space character class.
- Space bar
- Space (punctuation)
- Tab key
- Trimming (computer programming)
- Whitespace (programming language)
- Zero-width space
References[edit]
- ^ «The Unicode Standard». Unicode Consortium.
- ^ «Character design standards – space characters». Character design standards. Microsoft. 1998–1999. Archived from the original on August 23, 2000. Retrieved 2009-05-18.
- ^ The Unicode Standard 5.0, printed edition, p. 205; also available at «Chapter 6 — Writing Systems and Punctuation» (PDF). The Unicode Standard 5.0, electronic edition. Unicode Consortium. 2006-07-14. p. 11 (205). Retrieved 2022-12-22.
- ^ «General Punctuation» (PDF). The Unicode Standard 5.1. Unicode Inc. 1991–2008. Retrieved 2009-05-13.
- ^ Sargent, Murray III (2006-08-29). «Unicode Nearly Plain Text Encoding of Mathematics (Version 2)». Unicode Technical Note #28. Unicode Inc. pp. 19–20. Retrieved 2009-05-19.
- ^ Gillam, Richard (2002). Unicode Demystified: A Practical Programmer’s Guide to the Encoding Standard. Addison-Wesley. ISBN 0-201-70052-2.
- ^ a b Hickson, Ian. «12.5 Named character references». HTML Standard. WHATWG.
- ^ Wolfram. «[NegativeThickSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeMediumSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeThinSpace]». Wolfram Language Documentation.
- ^ Wolfram. «[NegativeVeryThinSpace]». Wolfram Language Documentation.
- ^ Faltstrom, P., ed. (August 2010). «Zero Width Non-Joiner». The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.1. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
- ^ Faltstrom, P., ed. (August 2010). «Zero Width Joiner». The Unicode Code Points and Internationalized Domain Names for Applications (IDNA). IETF. sec. A.2. doi:10.17487/RFC5892. RFC 5892. Retrieved September 4, 2019.
- ^
«Unicode Standard Annex #44, Unicode Character Database». - ^ a b c d e f European Computer Manufacturers Association (1968-11-28). Graphic Representation of the Control Characters of the ECMA 7-Bit Coded Character Set for Information Interchange (PDF). ECMA-17.
- ^ a b c d e f g h Mackenzie, Charles E. (1980). Coded Character Sets, History and Development. The Systems Programming Series (1 ed.). Addison-Wesley Publishing Company, Inc. pp. 41, 47, 52, 102–103, 117, 119, 130, 132, 141, 148, 150–151, 212, 424. ISBN 978-0-201-14460-4. LCCN 77-90165. Retrieved 2016-05-22. [1]
- ^ «American Standard Code for Information Interchange, ASA X3.4-1963». American Standards Association (ASA). 1963-06-17.
- ^ Niklaus Wirth, Programming in Modula-2
- ^ «Cambridge Z88 User Guide». 4.7 (4th ed.). Cambridge Computer Limited. 2016 [1987]. Basic concepts — The keyboard. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ a b c «Cambridge Z88 User Guide». 4.0 (4th ed.). Cambridge Computer Limited. 1987. Appendix D. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ a b c «Cambridge Z88 User Guide». 4.7 (4th ed.). Cambridge Computer Limited. 2015 [1987]. Appendix D. Archived from the original on 2016-12-12. Retrieved 2016-12-12.
- ^ Unicode chart U+2800, braille patterns
- ^ Chung, Jaemin (2017-03-30). Proposal to add an informative note to U+3164 HANGUL FILLER (PDF). Unicode Consortium. UTC L2/17-081.
- ^ Hangul Jamo (PDF). Unicode Consortium. 2020-10-25.
- ^ «ibm-933_P110-1995». ICU Demonstration — Converter Explorer. International Components for Unicode.
- ^ «ibm-933_P110-1995 (lead bytes 0E84)». ICU Demonstration — Converter Explorer. International Components for Unicode.
- ^ «Chapter 6 — Writing Systems and Punctuation» (PDF). The Unicode Standard 15.0, electronic edition. Unicode Consortium. 2022-09-13. pp. 12-13 (267-268). Retrieved 2022-12-23.
The fixed-width space characters (U+2000..U+200A) are derived from conventional (hot lead) typography. Algorithmic kerning and justification in computerized typography do not use these characters. However, where they are used (for example, in typesetting mathematical formulae), their width is generally font-specified, and they typically do not expand during justification. The exception is U+2009 thin space, which sometimes gets adjusted.
- ^ Usage of the different dash types is illustrated, e.g., in The Chicago Manual of Style, §§ 6.80, 6.83–6.86
- ^ http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf Section 6.4, paragraph 3
- ^ Fielding, R.; et al. (June 1999), «2.2 Basic Rules», Hypertext Transfer Protocol—HTTP/1.1, doi:10.17487/RFC2616, RFC 2616
- ^ «3.3.3 Attribute-Value Normalization». Extensible Markup Language (XML) 1.0 (Fifth Edition). World Wide Web Consortium.
- ^ «9.1 Whitespace». W3CHTML 4.01 Specification. World Wide Web Consortium.
External links[edit]
- Property List of Unicode Character Database