arrows in unicode

Perm url with updates: http://xahlee.org/comp/unicode_arrows.html

Arrows in Unicode

Xah Lee, 2010-06-19, 2010-06-22

This page collects arrow characters in Unicode.

← → ↑ ↓ ↔ ↕ ↖ ↗ ↘ ↙ ↮

⇦ ⇨ ⇧ ⇩ ⬄ ⇳ ⬀ ⬁ ⬂ ⬃

⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬌ ⬍

⇐ ⇒ ⇑ ⇓ ⇔ ⇕ ⇖ ⇗ ⇘ ⇙ ⇍ ⇏ ⇎ ⟸ ⟹ ⟺

↤ ↦ ↥ ↧ ⇤ ⇥ ⤒ ⤓ ↨

⇆ ⇄ ⇅ ⇵ ⇈ ⇊ ⇇ ⇉

⇠ ⇢ ⇡ ⇣

⇚ ⇛ ⤊ ⤋ ⭅ ⭆ ⟰ ⟱

↩ ↪ ↫ ↬

↞ ↟ ↠ ↡ ↚ ↛

↜ ↝ ↢ ↣

↰ ↱ ↲ ↳ ⬐ ⬎ ⬑ ⬏ ↴ ↵

↺ ↻ ⥀ ⥁ ⟲⟳

↶ ↷ ⤾ ⤿ ⤸ ⤹ ⤺ ⤻

↼ ⇀ ↿ ↾ ↽ ⇁ ⇂ ⇃ ⇋ ⇌

⇜ ⇝ ⬳ ⟿ ⬱ ⇶ ⇽ ⇾ ⇿ ⟵ ⟶ ⟷ ⟻ ⟼

⥊ ⥋ ⥌ ⥍ ⥎ ⥏ ⥐ ⥑ ⥒ ⥓ ⥔ ⥕ ⥖ ⥗ ⥘ ⥙

⥚ ⥛ ⥜ ⥝ ⥞ ⥟ ⥠ ⥡ ⥢ ⥣ ⥤ ⥥ ⥦ ⥨ ⥧ ⥩ ⥮⥯ ⥪ ⥫ ⥬ ⥭

⇷ ⇸ ⤉ ⤈ ⇹

⇺ ⇻ ⇞ ⇟ ⇼

⬴ ⤀ ⬵ ⤁

⬹ ⤔

⬺ ⤕ ⤂ ⤃ ⤄ ⬶ ⤅ ⬻ ⤖ ⬼ ⤗ ⬽ ⤘

⤆ ⤇ ⤌ ⤍ ⤎ ⤏ ⤙ ⤚ ⤛ ⤜ ⤝ ⤞ ⤟ ⤠

⤡ ⤢ ⤣ ⤤ ⤥ ⤦ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲ ⤫ ⤬

⥼ ⥽ ⥾ ⥿

⤶ ⤷ ⤴ ⤵

⤼ ⤽

⥂ ⥃ ⥄ ⭀⥱ ⥶⥸ ⭂ ⭈ ⭊ ⥵ ⭁ ⭇ ⭉ ⥲ ⭋ ⭌ ⥳ ⥴ ⥆ ⥅

⬷ ⤐ ⬸ ⤑ ⬿ ⤳ ⥹ ⥻

⬰⇴ ⥈ ⬾ ⥇ ⬲ ⟴

⥷ ⭃ ⥺ ⭄

⇱ ⇲

↸ ↹ ↯ ↭ ➾ ⥉ ⥰

⇪ ⇫ ⇬ ⇭ ⇮ ⇯ ⇰ ☚ ☛ ☜ ☝ ☞ ☟ ➔ ➘ ➙ ➚ ➛ ➜ ➝ ➞ ➟ ➠ ➡ ➢ ➣ ➤ ➥ ➦ ➧ ➨ ➩ ➪ ➫ ➬ ➭ ➮ ➯ ➱ ➲ ➳ ➴ ➵ ➶ ➷ ➸ ➹ ➺ ➻ ➼ ➽

There are about ~340 of them. These are from several different blocks of Unicode, including:

  • Miscellaneous Symbols
  • Dingbats
  • Miscellaneous Mathematical Symbols-A
  • Supplemental Arrows-A
  • Supplemental Arrows-B
  • Miscellaneous Mathematical Symbols-B
  • Supplemental Mathematical Operators
  • Miscellaneous Symbols and Arrows

For detail about these code blocks, see: Mapping of Unicode character planes.

To find out the code point for the char, use emacs. See:

Random Notes

Some notes: it took me something like 20 hours over 3 days to collect and organize these arrows. They are scattered in different unicode blocks, and are hard to find. Also, there are a lot symmetry issues, and some mirror image isn't there. Here's some details of my experience.

Char Scattered

They are scattered in different code blocks. Typically, the most common ones are collected in “Symbols, Arrows (2190–21FF)”. For many special ones, usually in the beginning there's just a right pointing one, because left pointing one is seldomly or never used. But later, it's realized the left pointing one is important too, for one reason or another, and sometimes there's a need just for completeness because Unicode became more wide spread. So, the left pointing one gets added to another block. Thus you have “Supplemental Arrows-A” and “Supplemental Arrows-B”. For similar reasons, other symmetric versions such as upward and or downward version are scattered in wildly different blocks.

Missing Symmetric Versions

Also, lots of these arrows are from math. When mathematicians use a arrow-like glyph in their notation, usually they are not doing it in any formal way in the sense of formalism, so their notation use is very sloppy. Typically they never thought about or care if that symbol is a operator or just a glyph to convey a concept. So, in unicode, the arrows gets into one of these blocks: “Miscellaneous Mathematical Symbols-B”, “Supplemental Mathematical Operators”, “Miscellaneous Symbols and Arrows”. Often, the left/right pair are in different blocks, or the up/down version are not even in a math category.

Here's a example: ⇹ ⇺ ⇻ ⇞ ⇟ ⇼. Note there's no vertical version of . Another: ⥂ ⥃ ⥄. Note that there's no mirror glyph of

Many arrows do not have symmetric versions. Symmetry here can be left/right mirror, up/down mirror, or combination of them (e.g. 90° rotation). Examples: ↴ ↵ ↸ ↹ ⤺ ⤻ ⤼ ⤽ ⤪ ⤨ ⤧ ⤩ ⤭ ⤮ ⤯ ⤰ ⤱ ⤲.

Ordering Problem

Also, when trying to order them, i ran into the problem of devising a ordering scheme. For example, usually i order them by left right up down, like this:. ← → ↑ ↓. But now look at these: ⇆ ⇄ ⇅ ⇵. For the verticle pair, which should come first?

Here's another example of the complexity. There are these chars:

  • ANTICLOCKWISE TOP SEMICIRCLE ARROW
  • CLOCKWISE TOP SEMICIRCLE ARROW
  • LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
  • ⤿ LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
  • RIGHT-SIDE ARC CLOCKWISE ARROW
  • LEFT-SIDE ARC ANTICLOCKWISE ARROW
  • TOP ARC ANTICLOCKWISE ARROW
  • BOTTOM ARC ANTICLOCKWISE ARROW

If you analyze their names, you can see that a circle can be divided into 8 parts. Left, right, top, bottom, then 4 of the diagonal arcs. Each glyph can be clockwise or anti-clockwise. There are a combination of 16 possibilities. First of all, note that not all of them is present. But given these chars, how do you order them?

Font Problems

Note that some left/right pairs looks very different, even in the same font. For example: ⬾ ⥇ ⬲ ⟴ ⬳ ⟿ ⬱ ⇶. Also note, that the font design for first char there is wrong. That char's unicode name is “LEFTWARDS ARROW THROUGH X”. It should not be “Two-headed arrow” as in some other chars.

Typically, the rightward version has better font, correctly designed and vector based, because it was used more often.

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs