# Unicode Characters & Emojis A character is an overloaded term that can mean many things. This gist will briefly touch on the differences between Code Point, Code Unit, Grapheme and Glyph, with a particular focus on emojis. ### Code Point A [code point][cp] is the atomic unit of information that consists of a numerical value that maps to a specific character which is given meaning by the [Unicodeยฎ๏ธŽ Standard][unistd]. A code point represent a digit, letter, whitespace, punctuation mark, emoji, symbol, control character, or formatting. The text is a sequence of code points. ### Code Unit A [code unit][cu] is the unit of storage of a part of an encoded code point. - Some characters are encoded using multiple code units, resulting in a **variable-length** encoding. - `UTF-32` is a **fixed width** encoding, hence all code points can be encoded in a single 32-bit code unit. The following table shows the three most common **character encoding schemes** and their corresponding [word size][word]. There are also 5 characters with their respective number of code units for the corresponding encoding. | Encoding | Word Size | Width Type | A | ยฉ | โ˜ƒ | ๐Ÿ˜€ | ๐Ÿ‘‰๐Ÿฟ | | --- | :---: | :---: | --- | --- | --- | --- | --- | | UTF-8 | 8-bit | Variable | 1 CU | 2 CU | 3 CU | 4 CU | 8 CU | | UTF-16 | 16-bit | Variable | 1 CU | 1 CU | 1 CU | 2 CU | 4 CU | | UTF-32 | 32-bit | Fixed | 1 CU | 1 CU | 1 CU | 1 CU | 2 CU | > [!NOTE] > - The character `๐Ÿ‘‰๐Ÿฟ` is a combination of two code points wich requires two 32-bit code units. > - `UTF-32` does not always have a 1:1 mapping between code points and what a user perceives as characters. In **JavaScript**, strings are represented fundamentally as sequences of `UTF-16` code units: - Every `UTF-16` code unit is exactly 16 bits long. - Code units and can be written in a string with `\u` followed by exactly four hex digits. - Code points can be written in a string with `\u{xxxxxx}` where `xxxxxx` represents 1โ€“6 hex digits. The entire Unicode character set is much bigger than what a single `UTF-16` code unit can represent, supplementary characters are encoded as two 16-bit code units called a surrogate pair. The length data property of a `String` value counts `UTF-16` code units. ### Grapheme A [grapheme][grap] is a sequence of one or more code points that are displayed as a single, graphical unit that a reader recognizes as a single element in the context of a particular [writing system][ws]. - User-perceived characters are referred to as graphemes. - Some code points are never part of any grapheme (e.g. the [ZWNJ][zwnj], or [directional overrides][bo]). The following table shows an example with 3 characters: | Character | Code Point | Description | :---: | ---: | :--- | | `รค` | `000E4` | Single code point. | | `aฬˆ` | `00061 00308` | Base character (`a`), and combining diaeresis (`โ—Œฬˆ`). | | `๐Ÿ‘‰๐Ÿฟ` | `1F449 1F3FF` | Backhand index pointing right (`๐Ÿ‘‰`), and dark skin tone (`๐Ÿฟ`). | > **Note** > - The characters `รค` and `aฬˆ` are the same grapheme, but have different code points. > - The character `๐Ÿ‘‰๐Ÿฟ` is two code points, but is displayed as a single character. > - The diaeresis character (`ยจ`) and the combining diaeresis (`โ—Œฬˆ`) are not the same code point. In JavaScript, `Intl.Segmenter` is used to split a string into segments at grapheme cluster boundaries, as determined by a specified locale. Expand the details below to see a JavaScript example that demonstrates the differences between code point, code unit, and grapheme in different string encodings.
Expand to see an example of code point, code unit, and grapheme. ```js // Backhand Index Pointing Right: Dark Skin Tone. const str = '๐Ÿ‘‰๐Ÿฟ'; // 1F449 1F3FF console.log('String:', str); // Split using UTF-8 code units. const encoder = new TextEncoder(); const encoded = encoder.encode(str); const u8_cu = [...encoded].map(byte => byte.toString(16)); console.log('UTF-8:', u8_cu); // ['f0', '9f', '91', '89', 'f0', '9f', '8f', 'bf'] // Split using UTF-16 code units. // This is the default encoding in JavaScript. const u16_cu = str.split(''); console.log('UTF-16:', u16_cu); // ['\uD83D', '\uDC49', '\uD83C', '\uDFFF'] // Split using UTF-32 code units. // A UTF-32 code unit is always a single code point. const u32_cu = Array.from(str); // or [...str] console.log('UTF-32:', u32_cu); // ['๐Ÿ‘‰', '๐Ÿฟ'] // Split using graphemes. const segmenter = new Intl.Segmenter(); const segment = segmenter.segment(str); const graphemes = [...segment].map(x => x.segment); console.log('Grapheme:', graphemes); // ['๐Ÿ‘‰๐Ÿฟ'] ``` In JavaScript, `String.prototype.split()` and `String.prototype[@@iterator]()` splits the characters of a string in different ways. String indexes and `split()` operates by UTF-16 code units, and `@@iterator()` iterates by code points.
### Glyph A [glyph][gly] is an image, usually stored in a font (which is a collection of glyphs), used to represent graphemes or parts thereof. Fonts may compose multiple glyphs into a single representation, for example, if the above `รค` is a single code point, a font may choose to render that as two separate, spatially overlaid glyphs. For OTF, the font's GSUB and GPOS tables contain substitution and positioning information to make this work. A font may contain multiple alternative glyphs for the same grapheme, too. ### Modifiers & Variation Selectors [Variation Selectors][vs] (VS) designates a specific block (`FE00`-`FE0F`) within the Unicode character set containing 16 selectors used to specify a glyph variant for a preceding character. Certain characters can have variant forms or styles, and variation selectors are used to indicate these variations. These selectors are generally applied to base characters to modify their appearance, providing a means to represent different writing styles, scripts, or regional preferences. Emojis can have diverse presentations, this includes variations in skin tones, genders, or other contextual modifications. The following items are the emoji-specific variation selectors. - The VS-15 (`FE0E`) is used to request a text presentation (monochrome) for an emoji character (`โ™€๏ธŽ`). - The VS-16 (`FE0F`) is used to request an emoji presentation (polychrome) for an emoji character (`โ™€๏ธ`). [Skin tone variations][est] are achieved using modifiers from `1F3FB` to `1F3FF` (`๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ`), they are based on the [Fitzpatrick scale][fzs], which is a formal classification of human skin tones. When one of these code points is appended to an emoji that supports skin tone modifiers, it will change the skin tone of the emoji.
Expand to see a table with all skin tones. | Character | Code Point | Name | | :---: | :---: | :--- | | `๐Ÿป` | `1F3FB` | Light skin tone. | | `๐Ÿผ` | `1F3FC` | Medium-light skin tone. | | `๐Ÿฝ` | `1F3FD` | Medium skin tone. | | `๐Ÿพ` | `1F3FE` | Medium-dark skin tone. | | `๐Ÿฟ` | `1F3FF` | Dark skin tone. |
### Zero Width Joiner The [zero-width joiner][zwj] (ZWJ) is a non-printing character (`200D`) used in the computerized typesetting of writing systems in which the shape or positioning of a grapheme depends on its relation to other graphemes ([complex scripts][cs]). When placed between two characters that would otherwise not be connected, a ZWJ causes them to be printed in their connected forms. When a ZWJ is placed between two emoji characters (or interspersed between multiple), it can result in a single glyph or new emoji, such as the family emoji (`๐Ÿ‘ช`), made up of two adult emoji (`๐Ÿ‘จ๐Ÿ‘ฉ`) and one or two child emoji (`๐Ÿ‘ฆ`). > [!NOTE] > When not available, the ZWJ characters are ignored and a fallback sequence of separate emoji is displayed. > Thus an emoji ZWJ sequence should only be supported where the fallback sequence would also make sense to a viewer. > See the [Recommended Emoji ZWJ Sequences][zwjs]. When working with skin tones, you should be careful with those emojis that consist of two or more emojis joined by the **ZWJ**. - Skin tone modifiers must be included after the emoji but before the ZWJ. - Some ZWJ sequences include multiple emoji that each have different skin tone modifiers.
Expand to see an example combining characters and skin tones. ```js String.fromCodePoint( 0x1FAF1, // Rightwards Hand (๐Ÿซฑ) 0x1F3FB, // Light skin tone (๐Ÿป) 0x0200D, // Zero Width Joiner 0x1FAF2, // Leftwards Hand (๐Ÿซฒ) 0x1F3FF, // Dark skin tone (๐Ÿฟ) ); // Handshake: Light Skin Tone, Dark Skin Tone (๐Ÿซฑ๐Ÿปโ€๐Ÿซฒ๐Ÿฟ) ```
## Useful Unicode Characters
### Mathematical

Binary operators

| Grapheme | Code Point | Description | | --- | --- | --- | | `โˆ’` | 2212 | Minus sign | `ร—` | 00D7 | Multiplication sign | `รท` | 00F7 | Division sign | `โ‹…` | 22C5 | Dot operator (sdot) | `โˆ•` | 2215 | Division slash

Unary operators

| Grapheme | Code Point | Description | | --- | --- | --- | | `โˆš` | 221A | Square root | | `โˆ›` | 221B | Cube root | | `โˆœ` | 221C | Fourth root | | `ยฑ` | 00B1 | Plus-minus sign | | `โˆ“` | 2213 | Minus-or-plus sign | | `โ€ฒ` | 2032 | Prime | | `โ€ณ` | 2033 | Double prime | | `โ€ด` | 2034 | Triple prime | | `โˆ` | 220F | N-ary product | | `โˆ‘` | 2211 | N-ary summation |

Fractions

| Grapheme | Code Point | Description | | --- | --- | --- | | `ยฝ` | 00BD | One-half | | `โ…“` | 2153 | One-third | | `โ…”` | 2154 | Two-thirds | | `ยผ` | 00BC | One-quarter | | `ยพ` | 00BE | Three-quarters | | `โ…•` | 2155 | One-fifth | | `โ…–` | 2156 | Two-fifths | | `โ…—` | 2157 | Three-fifths | | `โ…˜` | 2158 | Four-fifths | | `โ…™` | 2159 | One-sixth | | `โ…š` | 215A | Five-sixths | | `โ…` | 2150 | One-seventh | | `โ…›` | 215B | One-eighth | | `โ…œ` | 215C | Three-eighths | | `โ…` | 215D | Five-eighths | | `โ…ž` | 215E | Seven-eighths | | `โ…‘` | 2151 | One-ninth | | `โ…’` | 2152 | One-tenth | | `โ…Ÿ` | 215F | Fraction numerator one | | `โ„` | 2044 | Fraction slash |

Calculus & Equations

| Grapheme | Code Point | Description | | --- | --- | --- | | โˆž | 221E | Infinity | | โˆ‚ | 2202 | Partial differential | | โˆซ | 222B | Integral | | โˆฌ | 222C | Double integral | | โˆญ | 222D | Triple integral | | โจŒ | 2A0C | Quadruple integral | | โˆฎ | 222E | Contour integral | | โˆฏ | 222F | Surface integral | | โˆฐ | 2230 | Volume integral | | โˆฑ | 2231 | Clockwise integral | | โˆฒ | 2232 | Clockwise contour integral | | โˆณ | 2233 | Anticlockwise contour integral | | โˆ‡ | 2207 | Nabla |

Sets

| Grapheme | Code Point | Description | | --- | --- | --- | | `โŠ‚` | 2282 | Subset of | | `โŠƒ` | 2283 | Superset of | | `โІ` | 2286 | Subset of or equal to | | `โЇ` | 2287 | Superset of or equal to | | `โŠ„` | 2284 | Not a subset of | | `โˆฉ` | 2229 | Intersection | | `โˆช` | 222A | Union | | `โˆˆ` | 2208 | Element of | | `โˆŠ` | 220A | Small element of | | `โˆ‰` | 2209 | Not an element of | | `โˆ‹` | 220B | Contains as member | | `โˆ` | 220D | Small contains as member | | `โˆŒ` | 220C | Does not contain as member | | `โˆ…` | 2205 | Empty set |

Relationships

| Grapheme | Code Point | Description | | --- | --- | --- | | `โˆ` | 221D | Proportional to | | `โˆฃ` | 2223 | Divides | | `โˆค` | 2224 | Does not divide | | `โ‰ƒ` | 2243 | Asymptotically equal to | | `โ‰„` | 2244 | Not asymptotically equal to | | `โ‰…` | 2245 | Approximately equal to | | `โ‰†` | 2246 | Approximately but not actually equal to | | `โ‰‡` | 2247 | Neither approximately nor actually equal to | | `โ‰ˆ` | 2248 | Almost equal to | | `โ‰‰` | 2249 | Not almost equal to | | `โ‰œ` | 225C | Delta equal to | | `โ‰` | 225D | Equal to by definition | | `โ‰Ÿ` | 225F | Questioned equal to | | `โ‰ ` | 2260 | Not equal to | | `โ‰ก` | 2261 | Identical to | | `โ‰ค` | 2264 | Less-than or equal to | | `โ‰ฅ` | 2265 | Greater-than or equal to | | `โ‰ช` | 226A | Much less-than | | `โ‰ซ` | 226B | Much greater-than |

Geometry

| Grapheme | Code Point | Description | | --- | --- | --- | | `โˆ ` | 2220 | Angle | | `โˆก` | 2221 | Measured angle | | `โˆข` | 2222 | Spherical angle | | `โŸ‚` | 27C2 | Perpendicular | | `โˆŸ` | 221F | Right angle |

Logic

| Grapheme | Code Point | Description | | --- | --- | --- | | `ยฌ` | 00AC | Logical NOT | | `โˆง` | 2227 | Logical AND | | `โˆจ` | 2228 | Logical OR | | `โˆŽ` | 220E | End of proof | | `โˆด` | 2234 | Therefore | | `โˆต` | 2235 | Because | | `โˆ€` | 2200 | For all | | `โˆƒ` | 2203 | There exists | | `โˆ„` | 2204 | There does not exists |

Typography

| Grapheme | Code Point | Description | | --- | --- | --- | | โ‹ฎ | 22EE | Vertical ellipsis | | โ‹ฏ | 22EF | Horizontal ellipsis | | โ‹ฐ | 22F0 | Up right diagonal ellipsis | | โ‹ฑ | 22F1 | Down right diagonal ellipsis | | โŸจ | 27E8 | Left angle bracket | | โŸฉ | 27E9 | Right angle bracket | | ยฐ | 00B0 | Degree sign |

Roman Numeral

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ… ` | 2160 | Roman numeral one | | `โ…ก` | 2161 | Roman numeral two | | `โ…ข` | 2162 | Roman numeral three | | `โ…ฃ` | 2163 | Roman numeral four | | `โ…ค` | 2164 | Roman numeral five | | `โ…ฅ` | 2165 | Roman numeral six | | `โ…ฆ` | 2166 | Roman numeral seven | | `โ…ง` | 2167 | Roman numeral eight | | `โ…จ` | 2168 | Roman numeral nine | | `โ…ฉ` | 2169 | Roman numeral ten | | `โ…ช` | 216A | Roman numeral eleven | | `โ…ซ` | 216B | Roman numeral twelve | | `โ…ฌ` | 216C | Roman numeral fifty | | `โ…ญ` | 216D | Roman numeral one hundred | | `โ…ฎ` | 216E | Roman numeral five hundred | | `โ…ฏ` | 216F | Roman numeral one thousand | | `โ†€` | 2180 | Roman numeral one thousand C D | | `โ†` | 2181 | Roman numeral five thousand | | `โ†‚` | 2182 | Roman numeral ten thousand | | `โ†‡` | 2187 | Roman numeral fifty thousand | | `โ†ˆ` | 2188 | Roman numeral one hundred thousand | | `โ…ฐ` | 2170 | Small roman numeral one | | `โ…ฑ` | 2171 | Small roman numeral two | | `โ…ฒ` | 2172 | Small roman numeral three | | `โ…ณ` | 2173 | Small roman numeral four | | `โ…ด` | 2174 | Small roman numeral five | | `โ…ต` | 2175 | Small roman numeral six | | `โ…ถ` | 2176 | Small roman numeral seven | | `โ…ท` | 2177 | Small roman numeral eight | | `โ…ธ` | 2178 | Small roman numeral nine | | `โ…น` | 2179 | Small roman numeral ten | | `โ…บ` | 217A | Small roman numeral eleven | | `โ…ป` | 217B | Small roman numeral twelve | | `โ…ผ` | 217C | Small roman numeral fifty | | `โ…ฝ` | 217D | Small roman numeral one hundred | | `โ…พ` | 217E | Small roman numeral five hundred | | `โ…ฟ` | 217F | Small roman numeral one thousand | | `โ†…` | 2185 | Roman numeral six late form | | `โ††` | 2186 | Roman numeral fifty early form | | `โ†ƒ` | 2183 | Roman numeral reversed one hundred |

Other

| Grapheme | Code Point | Description | | --- | --- | --- | | `ฮผ` | 003BC | Greek small letter MU | | `ฯ€` | 003C0 | Greek small letter PI | | `โ„‚` | 02102 | Complex numbers | | `โ„` | 0210D | Hyperbolic plane, quaternions | | `โ„“` | 02113 | Script small L | | `โ„•` | 02115 | Natural numbers | | `๐•†` | 1D546 | Octonions | | `โ„™` | 02119 | Prime numbers | | `โ„š` | 0211A | Rational numbers | | `โ„` | 0211D | Real numbers | | `โ„ค` | 02124 | Integers numbers |
### Science

Physics

| Grapheme | Code Point | Description | | --- | --- | --- | | `ฤง` | 0127 | Reduced Planck constant | | `ฦ›` | 019B | Reduced wavelength | | `ฮจ` | 03A8 | Greek capital letter psi | | `ฮป` | 03BB | Greek small letter lambda | | `ฮฝ` | 03BD | Greek small letter nu | | `ฯˆ` | 03C8 | Greek small letter psi | | `ฯ‰` | 03C9 | Greek small letter omega |

Chemistry

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ‡Œ` | 21CC | Equilibrium sign |
### Engineering
| Grapheme | Code Point | Description | | --- | --- | --- | | `โŒญ` | 232D | Cylindricity | | `ฮฉ` | 03A9 | Omega | | `โ„„` | 2104 | Centre line | | `๏นŠ` | FE4A | Centreline overline | | `๏นŽ` | FE4E | Centreline low line |

Power Symbols

| Grapheme | Code Point | Description | | --- | --- | --- | | `โป` | 23FB | Power symbol | | `โผ` | 23FC | Power on-off | | `โฝ` | 23FD | Power on | | `โญ˜` | 2B58 | Power off | | `โพ` | 23FE | Power sleep |
### Financial

Currency

| Grapheme | Code Point | Description | | --- | --- | --- | | `เธฟ` | 0E3F | Thai Baht | | `โ‚ฟ` | 20BF | Bitcoin | | `ยข` | 00A2 | Cent | | `ยค` | 00A4 | Currency | | `$` | 0024 | Dollar | | `โ‚ฌ` | 20AC | Euro | | `โ‚ด` | 20B4 | Hryvnia | | `โ‚น` | 20B9 | Indian rupee | | `โ‚ค` | 20A4 | Lira | | `โ‚ช` | 20AA | New shekel | | `โ‚ฑ` | 20B1 | Peso | | `โ‚ฝ` | 20BD | Russian ruble | | `ยฃ` | 00A3 | Sterling pound | | `โ‚บ` | 20BA | Turkish lira | | `โ‚ฉ` | 20A9 | Won | | `ยฅ` | 00A5 | Yen (Yuan) |

Other

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ€ฐ` | 2030 | Per mille | | `โ€ฑ` | 2031 | Per ten thousand |
### Box Drawing
``` โ”Œโ”€โ”ฌโ”€โ” โ•ญโ”€โ”ฌโ”€โ•ฎ โ”โ”โ”ณโ”โ”“ โ•”โ•โ•ฆโ•โ•— โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”ƒ โ”ƒ โ”ƒ โ•‘ โ•‘ โ•‘ โ”œโ”€โ”ผโ”€โ”ค โ•žโ•โ•ชโ•โ•ก โ”ฃโ”โ•‹โ”โ”ซ โ• โ•โ•ฌโ•โ•ฃ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”ƒ โ”ƒ โ”ƒ โ•‘ โ•‘ โ•‘ โ””โ”€โ”ดโ”€โ”˜ โ•ฐโ”€โ”ดโ”€โ•ฏ โ”—โ”โ”ปโ”โ”› โ•šโ•โ•ฉโ•โ• ```
### Miscellaneous

Numbers

| Grapheme | Code Point | Description | | --- | --- | --- | | `โž€` | 2780 | Circled digit one | | `โž` | 2781 | Circled digit two | | `โž‚` | 2782 | Circled digit three | | `โžƒ` | 2783 | Circled digit four | | `โž„` | 2784 | Circled digit five | | `โž…` | 2785 | Circled digit six | | `โž†` | 2786 | Circled digit seven | | `โž‡` | 2787 | Circled digit eight | | `โžˆ` | 2788 | Circled digit nine | | `โž‰` | 2789 | Circled number ten | | `โถ` | 2776 | Negative circled digit one | | `โท` | 2777 | Negative circled digit two | | `โธ` | 2778 | Negative circled digit three | | `โน` | 2779 | Negative circled digit four | | `โบ` | 277A | Negative circled digit five | | `โป` | 277B | Negative circled digit six | | `โผ` | 277C | Negative circled digit seven | | `โฝ` | 277D | Negative circled digit eight | | `โพ` | 277E | Negative circled digit nine | | `โฟ` | 277F | Negative circled number ten |

Design

| Grapheme | Code Point | Description | | --- | --- | --- | | `ยท` | 00B7 | Middle dot | | `โ€ค` | 2024 | One dot leader | | `โ€ฆ` | 2026 | Horizontal ellipsis | | `โ€œ` | 201C | Left double quotation mark | | `โ€` | 201D | Right double quotation mark | | `ยซ` | 00AB | Left-pointing double angle quotation mark | | `ยป` | 00BB | Right-pointing double angle quotation mark | | `โ€น` | 2039 | Single left-pointing angle quotation mark | | `โ€บ` | 203A | Single right-pointing angle quotation mark | | `โ€ž` | 201E | Double low-9 quotation mark | | `โŸจ` | 27E8 | Mathematical left angle bracket | | `โŸฉ` | 27E9 | Mathematical right angle bracket | | `โ€”` | 2014 | General punctuation | | `~` | 007E | Basic latin | | `โ€ป` | 203B | Reference mark |

Arrows

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ†ถ` | 21B6 | Anticlockwise top semicircle arrow | | `โ†ท` | 21B7 | Clockwise top semicircle arrow | | `โฎœ` | 2B9C | Black leftwards equilateral arrowhead | | `โฎ` | 2B9D | Black upwards equilateral arrowhead | | `โฎž` | 2B9E | Black rightwards equilateral arrowhead | | `โฎŸ` | 2B9F | Black downwards equilateral arrowhead | | `โ†` | 2190 | Leftwards arrow | | `โ†‘` | 2191 | Upwards arrow | | `โ†’` | 2192 | Rightwards arrow | | `โ†“` | 2193 | Downwards arrow | | `โคฉ` | 2929 | South east arrow and south west arrow | | `โคช` | 292A | South west arrow and north west arrow | | `โคง` | 2927 | North west arrow and north east arrow | | `โคจ` | 2928 | North east arrow and south east arrow | | `โคถ` | 2936 | Arrow pointing downwards then curving leftwards | | `โคท` | 2937 | Arrow pointing downwards then curving rightwards | | `โคธ` | 2938 | Right-side arc clockwise arrow | | `โคน` | 2939 | Left-side arc anticlockwise arrow | | `โคบ` | 293A | Top arc anticlockwise arrow | | `โคป` | 293B | Bottom arc anticlockwise arrow | | `โคก` | 2921 | North west and south east arrow | | `โคข` | 2922 | North east and south west arrow | | `โž›` | 279B | Drafting point rightwards arrow | | `โž` | 279D | Triangle-headed rightwards arrow | | `โžž` | 279E | Heavy triangle-headed rightwards arrow | | `โžŸ` | 279F | Dashed triangle-headed rightwards arrow | | `โžœ` | 279C | Heavy round-tipped rightwards arrow | | `โžพ` | 27BE | Open-outlined rightwards arrow | | `โžผ` | 27BC | Wedge-tailed rightwards arrow | | `โžฆ` | 27A6 | Heavy black curved upwards and rightwards arrow | | `โžง` | 27A7 | Squat black rightwards arrow | | `โžฅ` | 27A5 | Heavy black curved downwards and rightwards arrow | | `โžค` | 27A4 | Black rightwards arrowhead | | `โžข` | 27A2 | Three-d top-lighted rightwards arrowhead | | `โž˜` | 2798 | Heavy south east arrow | | `โž™` | 2799 | Heavy rightwards arrow | | `โžš` | 279A | Heavy north east arrow | | `โ‡‡` | 21C7 | Leftwards paired arrows | | `โ‡ˆ` | 21C8 | Upwards paired arrows | | `โ‡‰` | 21C9 | Rightwards paired arrows | | `โ‡Š` | 21CA | Downwards paired arrows | | `โ‡ถ` | 21F6 | Three rightwards arrows | | `โ‡ณ` | 21F3 | Up down white arrow | | `โ‡ฑ` | 21F1 | North west arrow to corner | | `โ‡ฒ` | 21F2 | South east arrow to corner | | `โ‡ค` | 21E4 | Leftwards arrow to bar | | `โ‡ฅ` | 21E5 | Rightwards arrow to bar | | `โ‡ฝ` | 21FD | Leftwards open-headed arrow | | `โ‡พ` | 21FE | Rightwards open-headed arrow | | `โ‡ฟ` | 21FF | Left right open-headed arrow | | `โ‡ฆ` | 21E6 | Leftwards white arrow | | `โ‡ง` | 21E7 | Upwards white arrow | | `โ‡จ` | 21E8 | Rightwards white arrow | | `โ‡ฉ` | 21E9 | Downwards white arrow | | `โด` | 23F4 | Black medium left-pointing triangle | | `โต` | 23F5 | Black medium right-pointing triangle | | `โถ` | 23F6 | Black medium up-pointing triangle | | `โท` | 23F7 | Black medium down-pointing triangle | | `โ‡„` | 21C4 | Rightwards arrow over leftwards arrow | | `โ‡†` | 21C6 | Leftwards arrow over rightwards arrow | | `โ‡…` | 21C5 | Upwards arrow leftwards of downwards arrow | | `โ†บ` | 21BA | Anticlockwise open circle arrow | | `โ†ป` | 21BB | Clockwise open circle arrow |

Temperature

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ„ƒ` | 2103 | Degree celsius | | `โ„‰` | 2109 | Degree fahrenheit | | `โ˜†` | 2606 | White star | | `โ˜…` | 2605 | Black star | | `โ˜` | 2601 | Cloud | | `โ˜ฝ` | 263D | First quarter moon |

Music

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ™ฉ` | 2669 | Quarter note | | `โ™ช` | 266A | Eighth note | | `โ™ซ` | 266B | Beamed eighth notes | | `โ™ฌ` | 266C | Beamed sixteenth notes | | `โ™ญ` | 266D | Flat sign | | `โ™ฎ` | 266E | Natural sign | | `โ™ฏ` | 266F | Sharp sign | | `๐„†` | 1D106 | Left repeat sign | | `๐„‡` | 1D107 | Right repeat sign | | `๐„` | 1D110 | Fermata | | `๐„œ` | 1D11C | Six-string fretboard | | `๐„ž` | 1D11E | G clef | | `๐„Ÿ` | 1D11F | G clef ottava alta | | `๐„ ` | 1D120 | G clef ottava bassa | | `๐„ก` | 1D121 | C clef | | `๐„ข` | 1D122 | F clef | | `๐„ฃ` | 1D123 | F clef ottava alta | | `๐„ค` | 1D124 | F clef ottava bassa | | `๐„ฅ` | 1D125 | Drum clef-1 | | `๐„ฆ` | 1D126 | Drum clef-2 | | `๐‡` | 1D1D0 | Gregorian c clef | | `๐‡‘` | 1D1D1 | Gregorian f clef | | `๐„ช` | 1D12A | Double sharp | | `๐„ซ` | 1D12B | Double flat | | `๐„ด` | 1D134 | Common time | | `๐„ป` | 1D13B | Whole rest | | `๐„ผ` | 1D13C | Half rest | | `๐„ฝ` | 1D13D | Quarter rest | | `๐…—` | 1D157 | Void notehead | | `๐…˜` | 1D158 | Notehead black | | `๐†’` | 1D192 | Crescendo |

Chess

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ™”` | 2654 | White king | | `โ™•` | 2655 | White queen | | `โ™–` | 2656 | White rook | | `โ™—` | 2657 | White bishop | | `โ™˜` | 2658 | White knight | | `โ™™` | 2659 | White pawn | | `โ™š` | 265A | Black king | | `โ™›` | 265B | Black queen | | `โ™œ` | 265C | Black rook | | `โ™` | 265D | Black bishop | | `โ™ž` | 265E | Black knight | | `โ™Ÿ` | 265F | Black pawn |

Design

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ€ข` | 2022 | Bullet | | `โ—Ž` | 25CE | Bullseye | | `โ—‰` | 25C9 | Fisheye | | `โญ˜` | 2B58 | Heavy circle and arrows | | `โœ—` | 2717 | Ballot x | | `โœ“` | 2713 | Check mark | | `โ˜` | 2610 | Ballot box | | `โ˜‘` | 2611 | Ballot box with check | | `โ˜’` | 2612 | Ballot box with x | | `โœŽ` | 270E | Lower right pencil | | `โœ` | 2710 | Upper right pencil | | `โ˜›` | 261B | Black right pointing index | | `โœฅ` | 2725 | Four club-spoked asterisk | | `โœค` | 2724 | Heavy four balloon-spoked asterisk | | `โœป` | 273B | Teardrop-spoked asterisk | | `โœฒ` | 2732 | Open centre asterisk | | `โœฑ` | 2731 | Heavy asterisk |

Block Elements

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ–€` | 2580 | Upper half block | | `โ–` | 2581 | Lower one eighth block | | `โ–‚` | 2582 | Lower one quarter block | | `โ–ƒ` | 2583 | Lower three eighths block | | `โ–„` | 2584 | Lower half block | | `โ–…` | 2585 | Lower five eighths block | | `โ–†` | 2586 | Lower three quarters block | | `โ–‡` | 2587 | Lower seven eighths block | | `โ–ˆ` | 2588 | Full block | | `โ–‰` | 2589 | Left seven eighths block | | `โ–Š` | 258A | Left three quarters block | | `โ–‹` | 258B | Left five eighths block | | `โ–Œ` | 258C | Left half block | | `โ–` | 258D | Left three eighths block | | `โ–Ž` | 258E | Left one quarter block | | `โ–` | 258F | Left one eighth block | | `โ–` | 2590 | Right half block | | `โ–‘` | 2591 | Light shade | | `โ–’` | 2592 | Medium shade | | `โ–“` | 2593 | Dark shade | | `โ–”` | 2594 | Upper one eighth block | | `โ–•` | 2595 | Right one eighth block | | `โ––` | 2596 | Quadrant lower left | | `โ–—` | 2597 | Quadrant lower right | | `โ–˜` | 2598 | Quadrant upper left | | `โ–™` | 2599 | Quadrant upper left and lower left and lower right | | `โ–š` | 259A | Quadrant upper left and lower right | | `โ–›` | 259B | Quadrant upper left and upper right and lower left | | `โ–œ` | 259C | Quadrant upper left and upper right and lower right | | `โ–` | 259D | Quadrant upper right | | `โ–ž` | 259E | Quadrant upper right and lower left | | `โ–Ÿ` | 259F | Quadrant upper right and lower left and lower right |

Control Pictures

| Grapheme | Code Point | Description | | --- | --- | --- | | `โ€` | 2400 | Null | | `โ` | 2401 | Start of heading | | `โ‚` | 2402 | Start of text | | `โƒ` | 2403 | End of text | | `โ„` | 2404 | End of transmission | | `โ…` | 2405 | Enquiry | | `โ†` | 2406 | Acknowledge | | `โ‡` | 2407 | Bell | | `โˆ` | 2408 | Backspace | | `โ‰` | 2409 | Horizontal tabulation | | `โŠ` | 240A | Line feed | | `โ‹` | 240B | Vertical tabulation | | `โŒ` | 240C | Form feed | | `โ` | 240D | Carriage return | | `โŽ` | 240E | Shift out | | `โ` | 240F | Shift in | | `โ` | 2410 | Data link escape | | `โ‘` | 2411 | Device control one | | `โ’` | 2412 | Device control two | | `โ“` | 2413 | Device control three | | `โ”` | 2414 | Device control four | | `โ•` | 2415 | Negative acknowledge | | `โ–` | 2416 | Synchronous idle | | `โ—` | 2417 | End of transmission bloCK | | `โ˜` | 2418 | Cancel | | `โ™` | 2419 | End of medium | | `โš` | 241A | Substitute | | `โ›` | 241B | Escape | | `โœ` | 241C | File separator | | `โ` | 241D | Group separator | | `โž` | 241E | Record separator | | `โŸ` | 241F | Unit separator | | `โ ` | 2420 | Space | | `โก` | 2421 | Delete | | `โข` | 2422 | Blank symbol | | `โฃ` | 2423 | Open box | | `โค` | 2424 | Newline | | `โฅ` | 2425 | Delete form two | | `โฆ` | 2426 | Substitute form two |
## Reference - - - - - [cp]: https://en.wikipedia.org/wiki/Code_point [cu]: https://en.wikipedia.org/wiki/Character_encoding#Terminology [word]: https://en.wikipedia.org/wiki/Word_(computer_architecture) [grap]: https://en.wikipedia.org/wiki/Grapheme [ws]: https://en.wikipedia.org/wiki/Writing_system [zwnj]: https://en.wikipedia.org/wiki/Zero-width_non-joiner "Zero-width non-joiner" [bo]: https://en.wikipedia.org/wiki/Bidirectional_text#Overrides [gly]: https://en.wikipedia.org/wiki/Glyph [vs]: https://en.wikipedia.org/wiki/Variation_Selectors_(Unicode_block) [fzs]: https://en.wikipedia.org/wiki/Fitzpatrick_scale "Fitzpatrick scale" [est]: https://www.unicode.org/L2/L2014/14173r-emoji-skin-tone.pdf "Selectors for emoji skin tone" [cs]: https://en.wikipedia.org/wiki/Complex_text_layout "Complex text layout" [zwj]: https://en.wikipedia.org/wiki/Zero-width_joiner [zwjs]: https://unicode.org/emoji/charts/emoji-zwj-sequences.html [unistd]: https://unicode.org/standard/standard.html [str]: https://devdocs.io/javascript/global_objects/string [emoji]: https://github.com/flipeador/browser-scripts/tree/main/scripts/emojis