# for Emacs: -*- coding: utf-8 -*- include "%L" # def emit(keys, codepoint, word): # print (' %s \t: "%s"\tU%04X\t\t# CIRCLED DIGIT %s' % # (keys, unichr(codepoint), codepoint, word)).encode('utf8') # numbers = 'one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty' # words = numbers.upper().split() # emit('<0>', 0x24EA, "ZERO") # for num, word in zip(range(1, 21), words): # emit(' '.join("<%s>" % char for char in str(num)), 0x245f + num, word) # michi's: # Custom additions: Typography : "…" U2026 # HORIZONTAL ELLIPSIS # These two are already present for me: # : "—" U2014 # EM DASH # : "–" U2013 # EN DASH : "– " # EN DASH (followed by space) : "―" U2015 # HORIZONTAL BAR : "­" U00AD # SOFT HYPHEN : "‚" U201A # SINGLE LOW-9 QUOTATION MARK : "„" U201E # DOUBLE LOW-9 QUOTATION MARK : "’" U2019 # RIGHT SINGLE QUOTATION MARK : "”" U201D # RIGHT DOUBLE QUOTATION MARK : "‘" U2018 # LEFT SINGLE QUOTATION MARK : "“" U201C # LEFT DOUBLE QUOTATION MARK : "↵" U21B5 # DOWNWARDS ARROW WITH CORNER LEFTWARDS : "•" U2022 # BULLET # By default does this, but we broke that with the ... binding. : "·" periodcentered # MIDDLE DOT # Already present for me: # : " " U00A0 # NO-BREAK SPACE : " " U2009 # THIN SPACE : "←" leftarrow # LEFTWARDS ARROW : "↑" uparrow # UPWARDS ARROW : "→" rightarrow # RIGHTWARDS ARROW : "↓" downarrow # DOWNWARDS ARROW : "↔" U2194 # LEFT RIGHT ARROW (kragen's) :"ɔ" U0254 # LATIN SMALL LETTER OPEN O :"Ɔ" U0186 # LATIN CAPITAL LETTER OPEN O : "ff" UFB00 # LATIN LIGATURE FF : "fi" UFB01 # LATIN LIGATURE FI : "fl" UFB02 # LATIN LIGATURE FL : "st" UFB06 # LATIN SMALL LIGATURE ST : "ſt" UFB05 # LATIN SMALL LIGATURE LONG S T # Custom additions: Mathematical symbols : "≠" U2260 # NOT EQUAL TO : "≠" U2260 # NOT EQUAL TO : "≤" U2264 # LESS-THAN OR EQUAL TO : "≥" U2265 # GREATER-THAN OR EQUAL TO : "∈" U2208 # ELEMENT OF : "∉" U2209 # NOT AN ELEMENT OF : "∉" U2209 # NOT AN ELEMENT OF (I have ∈ on my keyboard...) : "∋" U220B # CONTAINS AS MEMBER (I hope this doesn't conflict) : "∌" U220C # DOES NOT CONTAIN AS MEMBER # would conflict, with for N WITH UNDERDOT, etc. : "∌" U220C # DOES NOT CONTAIN AS MEMBER

: "≅" U2245 # APPROXIMATELY EQUAL TO : "≔" U2254 # COLON EQUALS : "≟" U225f # QUESTIONED EQUAL TO : "√" U221A # SQUARE ROOT # “(Note: I had put the backslash in position 5/15. It enabled the # ALGOL “and” to be “/\” and the “or” to be “\/”.)” --- Bob Bemer, # http://home.ccil.org/~remlaps/www.bobbemer.com/BRACES.HTM, quoting # himself in “A view of the history of the ISO character code”, 1972 : "∧" U2227 # LOGICAL AND : "∨" U2228 # LOGICAL OR : "⊻" U22BB # XOR : "∘" U2218 # RING OPERATOR (function composition) <0> : "∅" U2205 # EMPTY SET (thanks jsled!) <0> : "∅" U2205 # EMPTY SET : "∃" U2203 # THERE EXISTS # We can't use ! E E, because ! E maps to E-WITH-UNDERDOT. : "∄" U2204 # THERE DOES NOT EXIST : "∀" U2200 # FOR ALL : "∎" U220E # END OF PROOF <8> <8> : "∞" U221E # INFINITY : "⊕" U2295 # CIRCLED PLUS : "⊖" U2296 # CIRCLED MINUS : "⊗" U2297 # CIRCLED TIMES : "⊘" U2298 # CIRCLED DIVISION SLASH : "⊛" U229B # CIRCLED ASTERISK OPERATOR : "‱" U2031 # PER TEN THOUSAND (basis points) : "⃗" U20D7 # COMBINING RIGHT ARROW ABOVE (vector) # There's a whole passel of these guys starting at U+1D538 but I have no fonts for those. : "ℂ" U2102 # DOUBLE-STRUCK CAPITAL C (set of complex numbers) : "ℕ" U2115 # DOUBLE-STRUCK CAPITAL N (natural number)

: "ℙ" U2119 # DOUBLE-STRUCK CAPITAL P : "ℚ" U211A # DOUBLE-STRUCK CAPITAL Q (set of rational numbers) : "ℝ" U211D # DOUBLE-STRUCK CAPITAL R (set of real numbers) : "ℤ" U2124 # DOUBLE-STRUCK CAPITAL Z (set of integers) : "ℍ" U210d # DOUBLE-STRUCK CAPITAL H : "ⅇ" U2147 # DOUBLE-STRUCK ITALIC SMALL E : "ⅈ" U2148 # DOUBLE-STRUCK ITALIC SMALL I : "ⅉ" U2149 # DOUBLE-STRUCK ITALIC SMALL J : "ℓ" U2113 # SCRIPT SMALL L : "⊏" U228F # SQUARE IMAGE OF : "⊑" U2291 # SQUARE IMAGE OF OR EQUAL TO : "⊑" U2291 # SQUARE IMAGE OF OR EQUAL TO : "⊐" U2290 # SQUARE ORIGINAL OF : "⊒" U2291 # SQUARE ORIGINAL OF OR EQUAL TO : "⊒" U2291 # SQUARE ORIGINAL OF OR EQUAL TO # Custom additions: Greek letters. Mapping corresponds to Emacs Greek # input method. Aristotle Pagaltzis informs me that this is the # standard Greek keyboard layout, which is good. : "α" U03B1 # GREEK SMALL LETTER ALPHA : "β" U03B2 # GREEK SMALL LETTER BETA : "ψ" U03C8 # GREEK SMALL LETTER PSI : "δ" U03B4 # GREEK SMALL LETTER DELTA : "ε" U03B5 # GREEK SMALL LETTER EPSILON : "φ" U03C6 # GREEK SMALL LETTER PHI : "γ" U03B3 # GREEK SMALL LETTER GAMMA : "η" U03B7 # GREEK SMALL LETTER ΕΤΑ : "ι" U03B9 # GREEK SMALL LETTER ΙΟΤΑ : "ξ" U03BE # GREEK SMALL LETTER XI : "κ" U03BA # GREEK SMALL LETTER KAPPA : "λ" U03BB # GREEK SMALL LETTER LAMBDA : "μ" U03BC # GREEK SMALL LETTER MU : "ν" U03BD # GREEK SMALL LETTER NU : "ο" U03BF # GREEK SMALL LETTER OMICRON

: "π" U03C0 # GREEK SMALL LETTER PI # no mapping for q; in Emacs that's ";" : "ρ" U03C1 # GREEK SMALL LETTER RHO : "σ" U03C3 # GREEK SMALL LETTER SIGMA : "τ" U03C4 # GREEK SMALL LETTER TAU : "θ" U03B8 # GREEK SMALL LETTER THETA : "ω" U03C9 # GREEK SMALL LETTER OMEGA : "ς" U03C2 # GREEK SMALL LETTER FINAL SIGMA : "χ" U03C7 # GREEK SMALL LETTER CHI : "υ" U03C5 # GREEK SMALL LETTER UPSILON : "ζ" U03B6 # GREEK SMALL LETTER ZETA # Capital greek letters. : "Α" U0391 # GREEK CAPITAL LETTER ALPHA : "Β" U0392 # GREEK CAPITAL LETTER BETA : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI : "Δ" U0394 # GREEK CAPITAL LETTER DELTA : "Ε" U0395 # GREEK CAPITAL LETTER EPSILON : "Φ" U03A6 # GREEK CAPITAL LETTER PHI : "Γ" U0393 # GREEK CAPITAL LETTER GAMMA : "Η" U0397 # GREEK CAPITAL LETTER ΕΤΑ : "Ι" U0399 # GREEK CAPITAL LETTER ΙΟΤΑ : "Ξ" U039E # GREEK CAPITAL LETTER XI : "Κ" U039A # GREEK CAPITAL LETTER KAPPA : "Λ" U039B # GREEK CAPITAL LETTER LAMBDA : "Μ" U039C # GREEK CAPITAL LETTER MU : "Ν" U039D # GREEK CAPITAL LETTER NU : "Ο" U039F # GREEK CAPITAL LETTER OMICRON

: "Π" U03A0 # GREEK CAPITAL LETTER PI # no mapping for Q; in Emacs that's ":" : "Ρ" U03A1 # GREEK CAPITAL LETTER RHO : "Σ" U03A3 # GREEK CAPITAL LETTER SIGMA : "Τ" U03A4 # GREEK CAPITAL LETTER TAU : "Θ" U0398 # GREEK CAPITAL LETTER THETA : "Ω" U03A9 # GREEK CAPITAL LETTER OMEGA # Emacs maps W to "Σ", but I think that’s stupid : "Χ" U03A7 # GREEK CAPITAL LETTER CHI : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON : "Ζ" U0396 # GREEK CAPITAL LETTER ZETA # If you wanted to actually type in Greek, you would also need άίέ # etc. But you would probably just switch to a Greek keyboard layout. # Custom additions: fractions <1> <3> : "⅓" U2153 # VULGAR FRACTION ONE THIRD <2> <3> : "⅔" U2154 # VULGAR FRACTION TWO THIRDS # more extensive fractions from jsled <1> <5> : "⅕" U2155 # VULGAR FRACTION ONE FIFTH <2> <5> : "⅖" U2156 # VULGAR FRACTION TWO FIFTHS <3> <5> : "⅗" U2157 # VULGAR FRACTION THREE FIFTHS <4> <5> : "⅘" U2158 # VULGAR FRACTION FOUR FIFTHS <1> <6> : "⅙" U2159 # VULGAR FRACTION ONE SIXTH <5> <6> : "⅚" U215A # VULGAR FRACTION FIVE SIXTHS <1> <8> : "⅛" U215B # VULGAR FRACTION ONE EIGHTH <3> <8> : "⅜" U215C # VULGAR FRACTION THREE EIGHTHS <5> <8> : "⅝" U215D # VULGAR FRACTION FIVE EIGHTHS <7> <8> : "⅞" U215E # VULGAR FRACTION SEVEN EIGHTHS # Custom additions: for chat (kragen) : "☺" U263A # WHITE SMILING FACE : "☹" U2639 # WHITE FROWNING FACE : "‽" U203D # INTERROBANG : "‽" U203D # INTERROBANG (in case you can’t remember the order) <3> : "♥" U2665 # BLACK HEART SUIT <3> <3> : "♣" U2663 # BLACK CLUB SUIT : "♢" U2662 # WHITE DIAMOND SUIT <3> : "♠" U2660 # BLACK SPADE SUIT : "♡" U2661 # WHITE HEART SUIT

: "☮" U262E # PEACE SYMBOL : "☯" U262F # YIN YANG # For some reason, I don't really like these word-based mnemonics. But until we have something better... -clsn : "☎" U260E # BLACK TELEPHONE : "☕" U2615 # HOT BEVERAGE # These last two bother me less, though they can still be improved. # Other possibly useful symbols: # 2668 HOT SPRINGS (for chat, for running off to shower?) # 2624 CADEUCEUS # 2611 BALLOT BOX WITH CHECK, or some other checkmark # 267B BLACK UNIVERSAL RECYCLING SYMBOL : "♀" U2640 # FEMALE SIGN : "♂" U2642 # MALE SIGN : "☠" U2620 # SKULL AND CROSSBONES : "☞" U261E # WHITE RIGHT POINTING INDEX : "☜" U261C # WHITE LEFT POINTING INDEX :"★" U2605 # BLACK STAR <0> :"☆" U2606 # WHITE STAR :"✯" U272F # PINWHEEL STAR : "⌘" U2318 # PLACE OF INTEREST SIGN : " " U2009 # THIN SPACE : "◌" U25CC # DOTTED CIRCLE : "﴾" UFD3E # ORNATE LEFT PARENTHESIS : "﴿" UFD3F # ORNATE RIGHT PARENTHESIS : "ʘ" U0298 # LATIN LETTER BILABIAL CLICK (kiss sound) : "‣" U2023 # TRIANGULAR BULLET : "⁻" U207B # SUPERSCRIPT MINUS # Or ? : "≈" U2248 # ALMOST EQUAL TO : "ʃ" U0283 # LATIN SMALL LETTER ESH : "№" U2116 # NUMERO SIGN # There are all kinds of awesome combining characters in the U+0300 page. # However, I don’t know how I would use a lot of them. x͜͡y? # There are a bunch of other awesome combining characters like U+20E0 : "๛" U0E5B # THAI CHARACTER KHOMUT (end of chapter) # # Music stuff. # is the music mnemonic. : "♭" U266d # MUSIC FLAT SIGN : "♮" U266e # MUSIC NATURAL SIGN : "♮" U266e # MUSIC NATURAL SIGN : "♯" U266f # MUSIC SHARP SIGN : "𝄞" U0001d11e # MUSICAL SYMBOL G CLEF : "𝄢" U0001d122 # MUSICAL SYMBOL F CLEF : "𝄡 U0001d121 # MUSICAL SYMBOL C CLEF : "♪" U266a # EIGHT NOTE : "♫" U266b # BEAMED EIGHTH NOTES # Combining accents, for making things you don't have precomposed chars or keystrokes for: : "̀" U0300 # COMBINING GRAVE ACCENT : "́" U0301 # COMBINING ACUTE ACCENT : "̂" U0302 # COMBINING CIRCUMFLEX ACCENT : "̃" U0303 # COMBINING TILDE : "̄" U0304 # COMBINING MACRON : "̅" U0305 # COMBINING OVERLINE -- ??? : "̆" U0306 # COMBINING BREVE : "̇" U0307 # COMBINING DOT ABOVE : "̈" U0308 # COMBINING DIAERESIS : "̉" U0309 # COMBINING HOOK ABOVE : "̊" U030a # COMBINING RING ABOVE : "̋" U030b # COMBINING DOUBLE ACUTE ACCENT -- ?? : "̌" U030c # COMBINING CARON # These two conflict!! : "̍" U030d # COMBINING VERTICAL LINE ABOVE : "̎" U030e # COMBINING DOUBLE VERTICAL LINE ABOVE : "̏" U030f # COMBINING DOUBLE GRAVE ACCENT : "͒" U0352 # COMBINING FERMATA : : "̐" U0310 # COMBINING CHANDRABINDU : "̑" U0311 # COMBINING INVERTED BREVE -- ?? : "⃝" U20DD # COMBINING ENCLOSING CIRCLE : "⃠" U20E0 # COMBINING ENCLOSING CIRCLE BACKSLASH : "̣" U0323 # COMBINING DOT BELOW : "̱" U0331 # COMBINING MACRON BELOW : "̲" U0332 # COMBINING LOW LINE : "̳" U0333 # COMBINING DOUBLE LOW LINE # The @ sign will signify reversal to the bottom of the glyph, 'kay? : "̥" U0325 # COMBINING RING BELOW : "̬" U032c # COMBINING CARON BELOW : "̭" U032d # COMBINING CIRCUMFLEX ACCENT BELOW : "̮" U032e # COMBINING BREVE BELOW : "̯" U032f # COMBINING INVERTED BREVE BELOW -- ?? : "͒" U0352 # COMBINING FERMATA # See also http://bleah.co.uk/~simon/stuff/XCompose # and http://dotfiles.org/~inky/.XCompose # and http://paste.lisp.org/display/73094