From 71d7c7d552e47d2967067ab9c78c0b169fe5161d Mon Sep 17 00:00:00 2001 From: Kragen Javier Sitaker Date: Sun, 4 Jan 2009 21:17:13 -0300 Subject: changed from a `.ispell_american` sharing project to a `.XCompose` sharing project --- README.md | 29 ++--- dotXCompose | 173 ++++++++++++++++++++++++++++ dotispell_american | 332 ----------------------------------------------------- install | 18 +-- 4 files changed, 190 insertions(+), 362 deletions(-) create mode 100644 dotXCompose delete mode 100644 dotispell_american diff --git a/README.md b/README.md index 323e2fe..248f44d 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,14 @@ -p2p-ispell -========== +.XCompose +========= -When you run Ispell, -it remembers what words you’ve added to your “personal dictionary”. -Unfortunately, -most of those words are real words -in ordinary English. -Why should all of us add them to our dictionaries separately? +As explained in , +your Compose key in X11 is controlled by (among other things) the file +`.XCompose` in your home directory. This file gives you a large set +of bindings for Unicode characters that are useful occasionally. -If you use `flyspell-mode` in Emacs ≤22, -you’re using Ispell. -If you also use Unix, -this tiny package -will let you share the work of adding modern words -(“memristor”, “hyperlinks”, lowercase “internet”) -and acronyms -(“IRC”, “IrDA”, “URL”) -with other users of Ispell. +More contributions are welcome; there's a Git repository at +. We're trying to come up with a +broadly acceptable set of keybindings that won't interfere with the +traditional Compose bindings, aren't too hard to type, and cover a +wide set of characters that are useful to use occasionally, making +them available without the need for specialized input methods. diff --git a/dotXCompose b/dotXCompose new file mode 100644 index 0000000..0812d66 --- /dev/null +++ b/dotXCompose @@ -0,0 +1,173 @@ +# 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) + : "­" 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) + + +# Custom additions: Mathematical symbols + : "≠" U2260 # NOT EQUAL TO + : "≤" U2264 # LESS-THAN OR EQUAL TO + : "≥" U2265 # GREATER-THAN OR EQUAL TO + : "∈" U220A # ELEMENT OF + : "∉" U2209 # NOT AN ELEMENT OF +

: "≅" U2245 # APPROXIMATELY EQUAL TO + : "≔" U2254 # COLON EQUALS + : "√" U221A # SQUARE ROOT + : "∧" U2227 # LOGICAL AND + : "∨" U2228 # LOGICAL OR + : "⊻" U22BB # XOR + : "∘" U2218 # RING OPERATOR (function composition) + : "∃" U2203 # THERE EXISTS + : "∄" 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 + : "⃗" 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) + : "⊏" 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. + : "α" 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 +# There are also fifths and eighths, but I don’t care enough about them. + +# Where should ⌘ (U+2318 PLACE OF INTEREST SIGN) go? There ought to +# be a Macintosh keybinding for it but apparently there isn’t. + +# Custom additions: for chat (kragen) + : "☺" U263A # WHITE SMILING FACE + : "☹" U2639 # WHITE FROWNING FACE + : "‽" U203D # INTERROBANG + <3> : "♥" U2665 # BLACK HEART SUIT + : "♫" U266B # BEAMED EIGHTH NOTES +

: "☮" U262E # PEACE SYMBOL + : "﴾" UFD3E # ORNATE LEFT PARENTHESIS + : "﴿" UFD3F # ORNATE RIGHT PARENTHESIS + : "ʘ" U0298 # LATIN LETTER BILABIAL CLICK (kiss sound) + : "‣" U2023 # TRIANGULAR BULLET + : "⁻" U207B # SUPERSCRIPT MINUS + : "ⁿ" U207F # SUPERSCRIPT LATIN LETTER SMALL N +# XXX this conflicts with a normal binding! Also there's already a +# binding for it, as well as the one above. + : "ⁱ" U2071 # SUPERSCRIPT LATIN LETTER SMALL I + : "≈" U2248 # ALMOST EQUAL TO + : "st" UFB06 # LATIN SMALL LIGATURE ST +# 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? + : "͒" U0352 # COMBINING FERMATA + : "̅" U0305 # COMBINING OVERLINE +# There are a bunch of other awesome combining characters like U+20E0 +# and U+20DD that I would totally use if my system suppported them. + : "๛" U0E5B # THAI CHARACTER KHOMUT (end of chapter) + +# See also http://bleah.co.uk/~simon/stuff/XCompose +# and http://dotfiles.org/~inky/.XCompose \ No newline at end of file diff --git a/dotispell_american b/dotispell_american deleted file mode 100644 index 6d559a7..0000000 --- a/dotispell_american +++ /dev/null @@ -1,332 +0,0 @@ -aerogel -Agre -Aikido -aluminized -antialiased -antialiasing -AP -API -APL -app -Arby's -Asahi -attosecond -autoclave -AVR -awk -backend -backends -backlight -backport -ballscrew -barcode -Belgrano -BibTeX -bignum -bignums -Bjarne -blog -blogger -blogpost -bootlicking -breadcrumb -breadcrumbs -Buenos -BUGTRAQ -bytecode -bytecodes -CFGs -changeset -changesets -clathrate -clathrates -clickable -codepoints -COFF -com -composable -cookware -Coreutils -Cowan -Craigslist -CRTs -CSS -CueCat -cvs -dataflow -Dechlorinating -delusional -destructors -destructuring -DHCP -dichroic -Diffie -DOM -douchebag -Downcased -downsamples -DVCS -EasyPG -Eee -electromechanical -Eliezer -elisp -emacsen -EmacsWiki -enrichers -fallback -FastCGI -FDA's -femtosecond -filesystem -Firefox -flintknap -flyspell -FPGA -FreeBSD -Freenode -frontends -FSF -geoengineering -geoscience -geosciences -geoscientists -GHz -gibibyte -gimbals -Girard -GitHub -Gitorious -Gitosis -Gmail -GMT -GnuPG -GNUstep -Gnutella -Google's -GPG -GPL -grep -GSM -Gtk -Guido -handheld -heritability -hostname -HTML -HTTP -hyperlink -hyperlinks -HyperSpec -hyperspectral -Hypoid -Iceweasel -IDE -IMAP -Ingalls -inline -inlines -internet -IP -IRC -IrDA -ISBNs -JavaScript -JDBC -jQuery -kaizen -KDE -Kernighan -kiB -kibibyte -kibibytes -kragen -LaserJet -LCD -Leadscrew -lexer -LGPL -Libre -logfiles -loupe -loupes -Lucene -Mbps -mebibytes -memcached -memristor -memristors -mergeable -metadata -microcontroller -microcontrollers -microelectronics -microform -micromechanical -micromechanisms -microprint -minibuffer -minibuffers -MochiKit -modeless -modeline -Monferini -Monopotassium -MoveOn's -Mozilla -multibyte -multibyteness -multihop -multimeter -MySQL -namespace -neuroscience -neurosciences -neuroscientists -Newegg -NeXTSTEP -nonfinal -nonreversible -OCaml -offline -Ogg -OpenBSD -OpenGL -OpenID -OpenSSL -OpenType -OpenWRT -org -overridable -packrat -pageviews -Parnas -paulv -paywall -PDF -PEGs -perl -permittivity -PgDn -PgUp -photonic -PHP -picosecond -Platt -plugins -podcast -poopers -pooperscooper -POPL -Postgres -PostScript -PowerPC -prescientific -presciently -Press's -proles -pseudoscience -PTFE -PyGame -pyrolytic -Qt -quasiquotation -Quicksort -rasterize -rasterized -README -recentering -recompress -refactor -reflectometer -regexp -regexps -reified -reimplementations -reindexing -remap -remapped -remapping -remaps -repatch -RFC -RGB -Rohit -RubyForge -SameGame -SATA -Schiffman -scientificity -scientism -Scientology -screencast -seawater -sequitur -Sinhala -Sitaker -Sittler -Slashdot -sloccount -Smalltalk -Solaris -solitons -Soros -SourceForge -spam -SpiderMonkey -Spolsky -SQL -SQLite -SSH -Stallman -steatite -Stepanov -STL -Stroustrup -sublinearly -submenu -submillimeter -subpixel -subtend -Sussman -SVG -svn -terabyte -terabytes -terahertz -Thunderbird -Tilly -timestamps -titanyl -tokenizing -tooltips -Trac -TraceMonkey -UARTs -unconfigured -Undernet -unhide -unintuitive -unprofessionalism -URL -URLs -USB -UTC -UTF -vanadate -visscher -Vorbis -Wanstrath's -wasabi -Weirich -Wiimote -wiki -Wikimedia -wikipedia -WSJ -wxWidgets -Xilinx -XML -XO -yerba -Yudkowsky diff --git a/install b/install index 688d196..f31e98b 100755 --- a/install +++ b/install @@ -1,23 +1,15 @@ #!/bin/bash set -e -if [ -f ~/.ispell_american ]; then +if [ -f ~/.XCompose ]; then cat <<'EOF' >&2 -You already have a `~/.ispell_american`. Move it out of the way. +You already have a `~/.XCompose`. Move it out of the way. -You may want to merge it into this list. To do so, I'm pretty sure you can do -this: - - mv ~/.ispell_american new-words - ./install - sort -u dotispell_american new-words -o dotispell_american - git diff - git commit -am 'adding my private words' - -Let me know if that doesn't work out. +You may want to merge it into this file, taking care to avoid +duplicates. Kragen Javier Sitaker EOF exit 1 fi -ln -s "$(pwd)/dotispell_american" ~/.ispell_american +ln -s "$(pwd)/dotXCompose" ~/.XCompose -- cgit v1.2.3