Bullet Points in Computing: From ASCII to Unicode and Web Standards
The humble bullet point is a fundamental element of digital typography, used to organize information and improve readability. While it appears simple to the end-user, the implementation of bullet markers involves a complex history of character encoding, markup languages, and rendering standards.
Key Facts
- Unicode U+2022 is the standard "BULLET" character located in the General Punctuation block.
- HTML uses the
<ul>element to define unordered lists, which browsers typically render with disc-shaped markers. - ASCII originally lacked a dedicated bullet character, leading early systems like the IBM PC to repurpose control codes for visible glyphs.
- Markup languages such as Markdown (CommonMark) and MediaWiki use symbols like asterisks (*) to trigger list formatting.
Historical Systems and Early Encoding
In the early days of computing, character sets were limited. The original IBM Personal Computer character set repurposed certain byte values that were assigned as control codes in ASCII (American Standard Code for Information Interchange) to display visible glyphs. Specifically, decimal values 7 through 10 were used to display symbols such as •, ◘, ○, and ◙.
In modern Unicode, these same positions (U+0007 through U+000A) are reserved for non-printing control characters: BELL, BACKSPACE, CHARACTER TABULATION, and LINE FEED.
[ไม่มีภาพประกอบ]
The Unicode Standard for Bullets
Unicode provides a vast array of bullet-style characters to accommodate different aesthetic and linguistic needs. The most common is U+2022 • BULLET, described as a "black small circle" within the General Punctuation block.
It is important to distinguish the standard bullet from the U+2219 ∙ BULLET OPERATOR. While visually similar, the Bullet Operator resides in the Mathematical Operators block and is used for scientific notation. In the Windows code page 437 mapping, byte F9 16 maps specifically to this mathematical operator.
| Character | Code Point | Unicode Name |
|---|---|---|
| • | U+2022 | BULLET |
| ‣ | U+2023 | TRIANGULAR BULLET |
| ⁃ | U+2043 | HYPHEN BULLET |
| ◘ | U+25D8 | INVERSE BULLET |
| ◦ | U+25E6 | WHITE BULLET |
| ◉ | U+25C9 | FISHEYE (Tainome in Japan) |
Web Implementation and HTML
In web development, bulleted lists are created using the <ul> (unordered list) element, where each item is wrapped in an <li> (list item) element. This structure is critical for accessibility, as it informs assistive technologies about the relationship between the items.
While browsers default to a disc marker, developers can use CSS (Cascading Style Sheets) to change the marker to a different character, a counter, an image, or remove it entirely. For example, WordPress navigation menus generated by wp_nav_menu() use <ul> by default, allowing site owners to customize the appearance via CSS.
Developers can also insert a bullet glyph directly using HTML entities like • or •. However, using these entities only produces the symbol and does not create a semantic list structure.
Bullets in Markup and Software
Plain-Text and Markdown
Many plain-text markup languages use standard ASCII characters as shorthand for bullets. CommonMark, the specification for Markdown, recognizes *, -, and + as valid markers. Similarly, the older Setext markup language used an asterisk followed by a space.
Specialized Software
- MediaWiki: Unordered lists begin with an asterisk; adding more leading asterisks creates nested levels.
- LaTeX: The
itemizeenvironment is used to generate bulleted lists, with the\itemcommand initiating each entry. - Microsoft Word: Typing an asterisk followed by a space often triggers an automatic bulleted list, which can then be customized through formatting controls.
Frequently Asked Questions
What is the difference between an unordered list and an ordered list in HTML?
An unordered list (<ul>) is used when the sequence of items does not change the meaning of the content. An ordered list (<ol>) is used when the specific order of items is intentional and necessary.
Is the Bullet Operator the same as the standard Bullet character?
No. The standard Bullet (U+2022) is part of General Punctuation, while the Bullet Operator (U+2219) is a separate character used specifically for mathematical operations.
How do I create a bullet point in HTML without using a list element?
You can use the character entities • or • to display the symbol. However, this is not recommended for lists of items because it lacks the semantic meaning provided by the <ul> and <li> tags.
How does MediaWiki handle nested bullet lists?
In MediaWiki markup, nesting is achieved by increasing the number of leading asterisks at the start of the line for each subsequent level of indentation.