" -------------------------------------------------------------------- " "htmlmap.vim" " VIM script to ease the entry of HTML character entities " -------------------------------------------------------------------- " Copyright (c) 2002 by Antoine Mechelynck, Brussels. " Please report any bugs and/or proposed patches to: " mailto:antoine.mechelynck@belgacom.net " " The author expresses NO WARRANTY about the FITNESS of the data below " for ANY USE WHATSOEVER including MERCHANTABILITY for a particular " PURPOSE. (You use this file at YOUR OWN risk.) " " You may copy this file and use it. " You may re-distribute this entire file with or without payment. " You may re-package this file for re-distribution with other software. " " You may extract parts of this file and use them without the rest. " " You must never take any measures which would restrict the freedom of " other people to copy, use, and distribute this file in the manner " outlined above. " -------------------------------------------------------------------- " Compatibility issues: This script was written for gvim 6.0 -- that's " the version I use on both Linux and Windows. It ought to work OK on " later versions. I don't know if and how it works on which earlier " versions. " -------------------------------------------------------------------- " To use this file as a whole, you might for instance add the following " (or something similar) to your vimrc : " " if has("autocmd") " autocmd Syntax html source $VIM/htmlmap.vim " endif " " (this is assuming that you put the file in the $VIM directory; otherwise " just change the path accordingly). " The if statement is there to avoid errors when using the same vimrc with " different versions of vi/vim/gvim with different compilation options. " If you want to use this file with a vim that does not support autocommands, " you will probably have to source the file manually in every buffer that " needs it. " " If you type these complex sequences slowly you might also want to set " the 'timeoutlen', e.g. " " if &ttimeoutlen < 0 " let &ttimeoutlen=&timeoutlen " endif " let &timeoutlen= &timeoutlen * 5 " " -------------------------------------------------------------------- " Note: As of this writing (March 2002) there is no provision for " undoing all this work while keeping the buffer. Writing a companion " script for the undo should be easy but tedious; and it doesn't make much " sense to me. " -------------------------------------------------------------------- " avoid doing it twice if (exists("b:htmlmapread")) && (b:htmlmapread) finish endif let b:htmlmapread=1 " Ctrl-K digraphs are not remapped. So let's use F12 instead, " with the same character pairs. " (In our vimrc file we'll map F12 to Ctrl-K for other filetypes.) " " We define two entries for each character in the range 160-255: " one for the character itself (as entered on national keyboards) " and one as for digraph-style entry. " For A-ring and a-ring we even define two digraphs, since " AA and aa are default, but A0 and a0 follow the standard. " Note that typing the digraph characters (when different) in the " "wrong" order will fallback to the "normal" single character, " except when both are defined (as for example, !I = inverted ! " but I! = I grave). imap ¡ ¡ imap !I ¡ imap ¢ ¢ imap Ct ¢ imap £ £ imap Pd £ imap ¤ ¤ imap Cu ¤ imap ¥ ¥ imap Ye ¥ imap ¦ ¦ imap BB ¦ imap § § imap SE § imap ¨ ¨ imap ': ¨ imap © © imap Co © imap ª ª imap -a ª imap « « imap << « imap ¬ ¬ imap NO ¬ imap ­ imap -- ­ imap ® ® imap Rg ® imap ¯ ¯ imap 'm ¯ imap ° ° imap DG ° imap ± ± imap +- ± imap ² ² imap 2S ² imap ³ ³ imap 3S ³ imap ´ ´ imap '' ´ imap µ µ imap My µ imap ¶ ¶ imap PI ¶ imap · · imap .M · imap ¸ ¸ imap ', ¸ imap ¹ ¹ imap 1S ¹ imap º º imap -o º imap » » imap >> » imap ¼ ¼ imap 14 ¼ imap ½ ½ imap 12 ½ imap ¾ ¾ imap 34 ¾ imap ¿ ¿ imap ?I ¿ imap À À imap A! À imap Á Á imap A' Á imap   imap A>  imap à à imap A? à imap Ä Ä imap A: Ä imap Å Å imap AA Å imap A0 Å imap Æ Æ imap AE Æ imap Ç Ç imap C, Ç imap È È imap E! È imap É É imap E' É imap Ê Ê imap E> Ê imap Ë Ë imap E: Ë imap Ì Ì imap I! Ì imap Í Í imap I' Í imap Î Î imap I> Î imap Ï Ï imap I: Ï imap Ð Ð imap D- Ð imap Ñ Ñ imap N? Ñ imap Ò Ò imap O! Ò imap Ó Ó imap O' Ó imap Ô Ô imap O> Ô imap Õ Õ imap O? Õ imap Ö Ö imap O: Ö imap × × imap *X × imap Ø Ø imap O/ Ø imap Ù Ù imap U! Ù imap Ú Ú imap U' Ú imap Û Û imap U> Û imap Ü Ü imap U: Ü imap Ý Ý imap Y' Ý imap Þ Þ imap TH Þ imap ß ß imap ss ß imap à à imap a! à imap á á imap a' á imap â â imap a> â imap ã ã imap a? ã imap ä ä imap a: ä imap å å imap aa å imap a0 å imap æ æ imap ae æ imap ç ç imap c, ç imap è è imap e! è imap é é imap e' é imap ê ê imap e> ê imap ë ë imap e: ë imap ì ì imap i! ì imap í í imap i' í imap î î imap i> î imap ï ï imap i: ï imap ð ð imap d- ð imap ñ ñ imap n? ñ imap ò ò imap o! ò imap ó ó imap o' ó imap õ õ imap o? õ imap ö ö imap o: ö imap ÷ ÷ imap -: ÷ imap ø ø imap o/ ø imap ù ù imap u! ù imap ú ú imap u' ú imap û û imap u> û imap ü ü imap u: ü imap ý ý imap y' ý imap þ þ imap th þ imap ÿ ÿ imap y: ÿ " " We extend the digraph method to UTF characters above 255; " however, we use numerical values because a few older browsers will " accept them, even if they reject the corresponding symbolic names. " " If you can type Unicode on your system, you may want to duplicate " the entries below using the actual multibyte character, in a " similar fashion to what we did above. Please let me know about it. " " is the number sign, "#", because #0 ... #9 are F1 ... F9 in " mappings. " " I know that \xnnn (with nnn > FF) is nonstandard, but I suppose " that (in comments) it will be understood. " imap A- &256; imap a- &257; imap A( &258; imap a( &259; imap A; &260; imap a; &261; imap C' &262; imap c' &263; imap C> &264; imap c> &265; imap C. &266; imap c. &267; imap C< &268; imap c< &269; imap D< &270; imap d< &271; imap D/ &272; imap d/ &273; imap E- &274; imap e- &275; " \x114 Ĕ undefined " \x115 ĕ undefined imap E. &278; imap e. &279; imap E; &280; imap e; &281; imap E< &282; imap e< &283; imap G> &284; imap g> &285; imap G( &286; imap g( &287; imap G. &288; imap g. &289; imap G, &290; imap g, &291; imap H> &292; imap h> &293; imap H/ &294; imap h/ &295; imap I? &296; imap i? &297; imap I- &298; imap i- &299; " \x12c Ĭ undefined " \x12d ĭ undefined imap I; &302; imap i; &303; imap I. &304; " since small i normally has a dot above, we use i. for small dotless i imap i. &305; imap IJ &306; imap ij &307; imap J> &308; imap j> &309; imap K, &310; imap k, &311; imap kr &312; imap L' &313; imap l' &314; imap L, &315; imap l, &316; imap L< &317; imap l< &318; " Attention! We pre-empt L. l. for "dot in the middle" (instead of above) imap L. &319; imap l. &320; imap L/ &321; imap l/ &322; imap N' &323; imap n' &324; imap N, &325; imap n, &326; imap N< &327; imap n< &328; imap 'n &329; imap NG &330; imap ng &331; imap O- &332; imap o- &333; " \x14e Ŏ undefined " \x14f ŏ undefined imap O" &336; imap o" &337; imap OE &338; imap oe &339; imap R' &340; imap r' &341; imap R, &342; imap r, &343; imap R< &344; imap r< &345; imap S' &346; imap s' &347; imap S> &348; imap s> &349; imap S, &350; imap s, &351; imap S< &352; imap s< &353; imap T, &354; imap t, &355; imap T< &356; imap t< &357; imap T/ &358; imap t/ &359; imap U? &360; imap u? &361; imap U- &362; imap u- &363; imap U( &364; imap u( &365; imap U0 &366; imap u0 &367; imap U" &368; imap u" &369; imap U; &370; imap u; &371; imap W> &372; imap w> &373; imap Y> &374; imap y> &375; imap Y: &376; imap Z' &377; imap z' &378; imap Z. &379; imap z. &380; imap Z< &381; imap z< &382; " \x17f ſ undefined " " Character values from \x180 ƀ upwards are only scantily defined, " until we come to the Greek section: " " \x192 ƒ small latin f with hook imap f2 &402; " \x1f5 ǵ small latin g with acute accent imap g' &501; " " \x2bc ʼ apostrophe modifier " \x2c6 ˆ circumflex accent " \x2c7 ˇ caron " \x2d8 ˘ breve " \x2d9 ˙ dot above " \x2da ˚ ring above " \x2db ˛ ogonek " \x2dc ˜ small tilde " \x2dd ˝ double acute accent " " \x386 Ά Greek capital alpha with tonos imap A% &902; " \x387 · undefined " \x388 Έ Greek capital epsilon with tonos imap E% &904; " \x389 Ή Greek capital eta with tonos imap H% &905; " \x38a Ί Greek capital iota with tonos imap I% &906; " \x38b ΋ undefined " \x38c Ό Greek capital omicron with tonos imap O% &908; " \x38d ΍ undefined " \x38e Ύ Greek capital upsilon with tonos imap U% &910; " \x38f Ώ Greek capital omega with tonos imap W% &911; " \x390 ΐ Greek small iota with tonos and dialytika imap j% &912; " \x391 Α Greek capital alpha (etc.) imap A* &913; imap B* &914; imap G* &915; imap D* &916; imap E* &917; imap Z* &918; imap H* &919; " I use "special Greek T" for theta (normal Greek t will be tau) imap T% &920; imap I* &921; imap K* &922; imap L* &923; imap M* &924; imap N* &925; " I use "Greek X" for ksi (chi will be "Greek c" even if not very logical) imap X* &926; imap O* &927; imap P* &928; imap R* &929; " \x3a2 ΢ undefined imap S* &931; imap T* &932; imap U* &933; imap F* &934; imap C* &935; imap P% &936; imap W* &937; " \x3aa Ϊ Greek capital iota with dialytika imap J* &938; " \x3ab Ϋ Greek capital upsilon with dialytika imap Y* &939; " \x3ac ά Greek small alpha with tonos (etc.) imap a% &940; imap e% &941; imap h% &942; imap i% &943; imap y% &944; imap a* &945; imap b* &946; imap g* &947; imap d* &948; imap e* &949; imap z* &950; imap h* &951; imap t% &952; imap i* &953; imap k* &954; imap l* &955; imap m* &956; imap n* &957; imap x* &958; imap o* &959; imap p* &960; imap r* &961; imap s% &962; imap s* &963; imap t* &964; imap u* &965; imap f* &966; imap c* &967; imap p% &968; imap w* &969; imap j* &970; imap y* &971; imap o% &972; " \x3cd ύ undefined imap w% &974; " \x3cf Ϗ undefined " \x3d0 ϐ undefined " \x3d1 ϑ Greek theta symbol imap t3 &977; " \x3d2 ϒ Greek upsilon with hook imap Y3 &978; " \x3d3 ϓ undefined " \x3d4 ϔ undefined " \x3d5 ϕ Greek phi symbol imap f3 &981; " \x3d6 ϖ Greek pi symbol (small omega with bar above) imap p3 &982; " \x3d7 ϗ Greek digamma (vau) imap v* &983; " 24 slots unused (\3d8-\3ef, Ϙ-ϯ) " \x3f0 ϰ Greek kappa symbol imap k% &1008; " \x3f1 ϱ Greek rho symbol imap r% &1009; " 14 slots unused (\3f2-\3ff, ϲ-Ͽ) " " \x400 Ѐ start of Cyrillic part " imap YO &1024; imap DJ &1025; imap GJ &1026; imap UE &1027; imap DZ &1029; imap UI &1030; imap JI &1031; imap JJ &1032; imap LJ &1033; imap NJ &1034; imap TC &1035; imap KJ &1036; " \x40d Ѝ undefined " I use ) for Cyrillic short to avoid clash with Latin breve, ( imap U) &1038; imap CJ &1039; imap A= &1040; imap B= &1041; imap B= &1042; imap G= &1043; imap D= &1044; imap E= &1045; imap J= &1046; imap Z= &1047; imap I= &1048; imap I) &1049; imap K= &1050; imap L= &1051; imap M= &1052; imap N= &1053; imap O= &1054; imap P= &1055; imap R= &1056; imap S= &1057; imap T= &1058; imap U= &1059; imap F= &1060; imap X= &1061; imap C= &1062; imap Q= &1063; imap H= &1064; imap W= &1065; imap !% &1066; imap Y= &1067; imap ?% &1068; imap EH &1069; imap YU &1070; imap YA &1071; imap a= &1072; imap b= &1073; imap v= &1074; imap g= &1075; imap d= &1076; imap e= &1077; imap j= &1078; imap z= &1079; imap i= &1080; imap i) &1081; imap k= &1082; imap l= &1083; imap m= &1084; imap n= &1085; imap o= &1086; imap p= &1087; imap r= &1088; imap s= &1089; imap t= &1090; imap u= &1091; imap f= &1092; imap x= &1093; imap c= &1094; imap q= &1095; imap h= &1096; imap w= &1097; imap != &1098; imap y= &1099; imap ?= &1100; imap eh &1101; imap yu &1102; imap ya &1103; " \x450 ѐ undefined imap yo &1105; imap dj &1106; imap gj &1107; imap ue &1108; imap dz &1109; imap ui &1110; imap ji &1111; imap jj &1112; imap lj &1113; imap nj &1114; imap tc &1115; imap kj &1116; " \x45d ѝ undefined imap u) &1118; imap cj &1119; " " then a lot of empty slots until... " " \x2000   undefined " \x2001   undefined " \x2002   en space imap n_ &8194; " \x2003   em space imap m_ &8195; " \x2004   three-per-em space imap 3m &8196; " \x2005   four-per-em space imap 4m &8197; " \x2006   undefined " \x2007   figure space imap 0_ &8199; " \x2008   punctuation space imap ._ &8200; " \x2009   thin space imap t_ &8201; " \x200a   hair space imap h_ &8202; " \x200b ​ undefined " \x200c ‌ zero width non-joiner imap 0n &8204; " \x200d ‍ zero width joiner imap 0j &8205; " \x200e ‎ left-to-right mark imap lr &8206; " \x200f ‏ right-to-left mark imap rl &8207; " \x2010 ‐ hyphen imap hy &8208; " \x2011 ‑ undefined " \x2012 ‒ undefined " \x2013 – en dash imap n- &8211; " \x2014 — em dash imap m- &8212; " \x2015 ― horizontal bar imap h- &8213; " \x2016 ‖ double vertical bar imap v" &8214; " \x2017 ‗ undefined " \x2018 ‘ left single quotation mark imap lq &8216; " \x2019 ’ right single quotation mark imap rq &8217; " \x201a ‚ single low-9 quotation mark imap r9 &8218; " \x201b ‛ undefined " \x201c “ left double quotation mark imap l" &8220; " \x201d ” right double quotation mark imap r" &8221; " \x201e „ double low-9 quotation mark imap 9" &8222; " \x201f ‟ undefined " \x2020 † dagger imap dg &8224; " \x2021 ‡ double dagger imap Dg &8225; " \x2022 • bullet imap .. &8226; " \x2023 ‣ undefined " \x2024 ․ undefined " \x2025 ‥ two dot leader imap 2. &8229; " \x2026 … horizontal ellipsis imap 3. &8230; " \x2027 ‧ undefined " \x2028-\x202f 
-  undefined " \x2030 ‰ per mil imap %o &8240; " \x2031 ‱ undefined " \x2032 ′ prime imap 1' &8242; " \x2033 ″ double prime imap 2' &8243; " \x2034 ‴ triple prime imap 3' &8244; " \x2035 ‵ reversed prime imap 'I &8245; " \x2036 ‶ undefined " \x2037 ‷ undefined " \x2038 ‸ undefined " \x2039 ‹ sinqle left-pointing angle quote imap 1< &8249; " \x203a › single right-pointing angle quote imap 1> &8250; " \x203b ※ undefined " \x203c ‼ undefined " \x203d ‽ undefined " \x203e ‾ overline " \x203f ‿ undefined " \x2040 ⁀ undefined " \x2041 ⁁ caret insertion point " \x2042 ⁂ undefined " \x2043 ⁃ hyphen bullet " \x2044 ⁄ fraction slash " ... " \x20ac € euro imap EU &8364; " ... " \x20db ⊻ combining three dots above " \x20dc ⊼ combining four dots above " ... " \x2105 ℅ care of imap co &8453; " \x2106 ℆ undefined " \x2107 ℇ undefined " \x2108 ℈ undefined " \x2109 ℉ undefined " \x210a ℊ undefined " \x210b ℋ script capital H " \x210c ℌ undefined " \x210d ℍ undefined " \x210e ℎ undefined " \x210f ℏ Planck's constant over two pi " \x2110 ℐ undefined " \x2111 ℑ black-letter capital I " \x2112 ℒ script capital L " \x2113 ℓ script small l " \x2114 ℔ undefined " \x2115 ℕ undefined " \x2116 № Numero imap No &8470; " \x2117 ℗ sound recording copyright (P) imap P) &8471; " \x2118 ℘ script capital P " \x2119 ℙ undefined " \x211a ℚ undefined " \x211b ℛ undefined " \x211c ℜ black-letter capital R " \x211d ℝ undefined " \x211e ℞ prescription take imap RX &8478; " \x211f ℟ undefined " \x2120 ℠ undefined " \x2121 ℡ undefined " \x2122 ™ trade mark sign imap TM &8482; " \x2123 ℣ undefined " \x2124 ℤ undefined " \x2125 ℥ undefined " \x2126 Ω ohm sign imap OH &8486; " \x2127 ℧ undefined " \x2128 ℨ undefined " \x2129 ℩ undefined " \x212a K undefined " \x212b Å angstrom sign imap AO &8491; " \x212c ℬ script capital B " \x212d ℭ undefined " \x212e ℮ undefined " \x212f ℯ undefined " \x2130 ℰ undefined " \x2131 ℱ undefined " \x2132 Ⅎ undefined " \x2133 ℳ script capital M " \x2134 ℴ script small o " \x2135 ℵ aleph symbol " \x2136 ℶ bet symbol " \x2137 ℷ gimel symbol " \x2138 ℸ dalet symbol " ... " \x2153 ⅓ vulgar fraction 1/3 (etc.) imap 13 &8531; imap 23 &8532; imap 15 &8533; imap 25 &8534; imap 35 &8535; imap 45 &8536; imap 16 &8537; imap 56 &8538; imap 18 &8539; imap 38 &8540; imap 58 &8541; imap 78 &8542; " ... " \x2190 ← arrow left imap !<< &8592; " \x2191 ↑ arrow up imap !AA &8593; " \x2192 → arrow right imap !>> &8594; " \x2193 ↓ arrow down imap !VV &8595; " \x2194 ↔ arrow left-right imap !<> &8596; " \x2195 ↕ arrow up-down imap !AV &8597; " \x2196 ↖ arrow to northwest imap !NW &8598; " \x2197 ↗ arrow to northeast imap !NE &8599; " \x2198 ↘ arrow to southeast imap !SE &8600; " \x2199 ↙ arrow to southwest imap !SW &8601; " \w219a ↚ arrow left with stroke imap !8602; " \x219b ↛ arrow right with stroke imap !>/ &8603; " \x219c ↜ undefined " \x219d ↝ wavy arrow right imap !>? &8605; " \x219e ↞ two-headed arrow left imap !2< &8606; " \x219f ↟ undefined " \x21a0 ↠ two-headed arrow right imap !2> &8608; " \x21a1 ↡ undefined " \x21a2 ↢ arrow left with tail imap !8610; " \x21a3 ↣ arrow right with tail imap !>t &8611; " \x21a4 ↤ undefined " \x21a5 ↥ undefined " \x21a6 ↦ arrow right from bar imap !>b &8614; " \x21a7 ↧ undefined " \x21a8 ↨ undefined " \x21a9 ↩ arrow left with hook imap !<2 &8617; " \x21aa ↪ arrow right with hook imap !>2 &8618; " \x21ab ↫ arrow left with loop imap !<8 &8619; " \x21ac ↬ arrow right with loop imap !>8 &8620; " \x21ad ↭ wavy arrow left right imap !X? &8621; " \x21ae ↮ arrow left-right with stroke imap !X/ &8622; " \x21af ↯ undefined " \x21b0 ↰ arrow up then left imap !A< &8624; " \x21b1 ↱ arrow up then right imap !A> &8625; " \x21b2 ↲ undefined " \x21b3 ↳ undefined " \x21b4 ↴ undefined " \x21b5 ↵ arrow down then left imap !V< &8629; " \x21b6 ↶ arrow semicircle top anticlockwise " \x21b7 ↷ arrow semicircle top clockwise " \x21b8 ↸ undefined " \x21b9 ↹ undefined " \x21ba ↺ anticlockwise open circle arrow " \x21bb ↻ clockwise open circle arrow " \x21bc ↼ harpoon left with barb up " \x21bd ↽ harpoon left with barb down " \x21be ↾ harpoon up with barb right " \x21bf ↿ harpoon up with barb left " \x21c0 ⇀ harpoon right with barb up " \x21c1 ⇁ harpoon right with barb down " \x21c2 ⇂ harpoon down with barb right " \x21c3 ⇃ harpoon down with barb left " \x21c4 ⇄ arrow right over left " \x21c5 ⇅ undefined " \x21c6 ⇆ arrow left over right " \x21c7 ⇇ paired arrows left " \x21c8 ⇈ paired arrows up " \x21c9 ⇉ paired arrows right " \x21ca ⇊ paired arrows down " \x21cb ⇋ harpoons left over right " \x21cc ⇌ harpoons right over left " \x21cd ⇍ double arrow left with stroke " \x21ce ⇎ double arrow left right with stroke " \x21cf ⇏ double arrow right with stroke " \x21d0 ⇐ double arrow left " \x21d1 ⇑ double arrow up " \x21d2 ⇒ double arrow right " \x21d3 ⇓ double arrow down " \x21d4 ⇔ double arrow left right " \x21d5 ⇕ double arrow up down " \x21d6 ⇖ undefined " \x21d7 ⇗ undefined " \x21d8 ⇘ undefined " \x21d9 ⇙ undefined " \x21da ⇚ triple arrow left " \x21db ⇛ triple arrow right " ... " \x2200 ∀ for all " \x2201 ∁ complement " \x2202 ∂ partial differential " \x2203 ∃ there exists " \x2204 ∄ there does not exist " \x2205 ∅ null set " \x2206 ∆ undefined " \x2207 ∇ nabla " \x2208 ∈ is an element of " \x2209 ∉ is not an element of " \x220a ∊ is an element of (small) " \x220b ∋ contains as element " \x220c ∌ undefined " \x220d ∍ contains as element (small) " \x220e ∎ undefined " \x220f ∏ pi (product) " \x2210 ∐ inverted pi (coproduct) " \x2211 ∑ sigma (sum) " \x2212 − minus sign " \x2213 ∓ minus over plus imap -+ &8723; " \x2214 ∔ dot over plus imap +. &8724; " \x2215 ∕ undefined " \x2216 ∖ set subtraction (backslash) " \x2217 ∗ asterisk operator " \x2218 ∘ ring operator " \x2219 ∙ undefined " \x221a √ square root imap 2R &8730; " \x221b ∛ undefined " \x221c ∜ undefined " \x221d ∝ proportional to " \x221e ∞ infinity " \x221f ∟ right angle " \x2220 ∠ angle " \x2221 ∡ measured angle " \x2222 ∢ spherical angle " \x2223 ∣ divides " \x2224 ∤ does not divide " \x2225 ∥ parallel to " \x2226 ∦ not parallel to " \x2227 ∧ logical and (inverted V) " \x2228 ∨ logical or (V) " \x2229 ∩ intersection " \x222a ∪ union " \x222b ∫ integral " \x222c ∬ undefined " \x222d ∭ undefined " \x222e ∮ contour integral " \x222f ∯ undefined " \x2230 ∰ undefined " \x2231 ∱ undefined " \x2232 ∲ undefined " \x2233 ∳ undefined " \x2234 ∴ therefore (3 dots, 1 over 2) imap .3 &8756; " \x2235 ∵ because (3 dots, 2 over 1) " \x2236 ∶ undefined " \x2237 ∷ undefined " \x2238 ∸ undefined " \x2239 ∹ undefined " \x223a ∺ undefined " \x223b ∻ undefined " \x223c ∼ tilde operator " \x223d ∽ reversed tilde " \x223e ∾ undefined " \x223f ∿ undefined " \x2240 ≀ wreath product " \x2241 ≁ not tilde " \x2242 ≂ undefined " \x2243 ≃ asymptotically equal to " \x2244 ≄ not asymptotically equal to " \x2245 ≅ approximately equal to " \x2246 ≆ undefined " \x2247 ≇ not even approximately equal to " \x2248 ≈ almost equal to " \x2249 ≉ not almost equal to " \x224a ≊ almost equal or equal to " \x224b ≋ undefined " \x224c ≌ all equal to " \x224d ≍ undefined " \x224e ≎ geometrically equivalent to " \x224f ≏ difference between " \x2250 ≐ approaches the limit " \x2251 ≑ geometrically equal to " \x2252 ≒ approximately equal to or the image of " \x2253 ≓ image of or approximately equal to " \x2254 ≔ colon equals imap := &8788; " \x2255 ≕ equals colon imap =: &8789; " \x2256 ≖ ring in equal to " \x2257 ≗ ring equal to " \x2258 ≘ undefined " \x2259 ≙ estimates " \x225a ≚ undefined " \x225b ≛ undefined " \x225c ≜ delta equal to " \x225d ≝ undefined " \x225e ≞ undefined " \x225f ≟ undefined " \x2260 ≠ not equal to " \x2261 ≡ identical to " \x2262 ≢ not identical to " \x2263 ≣ undefined " \x2264 ≤ less than or equal to imap <= &8804; " \x2265 ≥ greater than or equal to imap >= &8805; " \x2266 ≦ less than over equal to " \x2267 ≧ greater than over equal to " \x2268 ≨ less than but not equal to " \x2269 ≩ greater than but not equal to " \x226a ≪ much less than " \x226b ≫ much greater than " \x226c ≬ between " \x226d ≭ undefined " \x226e ≮ not less than " \x226f ≯ not greater than " \x2270 ≰ neither less than nor equal to " \x2271 ≱ neither greater than nor equal to " \x2272 ≲ less than or equivalent to " \x2273 ≳ greater than or equivalent to " \x2274 ≴ undefined " \x2275 ≵ undefined " \x2276 ≶ less than or greater than " \x2277 ≷ greater than or less than " \x2278 ≸ undefined " \x2279 ≹ undefined " \x227a ≺ precedes " \x227b ≻ follows " \x227c ≼ precedes or equal to " \x227d ≽ follows or equal to " \x227e ≾ precedes or equivalent to " \x227f ≿ follows or equivalent to " \x2280 ⊀ does not precede " \x2281 ⊁ does not follow " \x2282 ⊂ is a subset of " \x2283 ⊃ is a superset of " \x2284 ⊄ is not a subset of " \x2285 ⊅ is not a superset of " \x2286 ⊆ subset or equal " \x2287 ⊇ superset or equal " \x2288 ⊈ neither subset nor equal " \x2289 ⊉ neither superset nor equal " \x228a ⊊ subset, not equal " \x228b ⊋ superset, not equal " \x228c ⊌ undefined " \x228d ⊍ undefined " \x228e ⊎ multiset union " \x228f ⊏ square image of " \x2290 ⊐ square original of " \x2291 ⊑ square image of or equal to " \x2292 ⊒ square original of or equal to " \x2293 ⊓ square cap " \x2294 ⊔ square cup " \x2295 ⊕ circled plus " \x2296 ⊖ circled minus " \x2297 ⊗ circled times " \x2298 ⊘ circled division slash " \x2299 ⊙ circled dot " \x229a ⊚ circled ring " \x229b ⊛ circled asterisk " \x229c ⊜ undefined " \x229d ⊝ circled dash " \x229e ⊞ squared plus " \x229f ⊟ squared minus " \x22a0 ⊠ squared times " \x22a1 ⊡ squared dot " \x22a2 ⊢ right tack " \x22a3 ⊣ left tack " \x22a4 ⊤ down tack " \x22a5 ⊥ up tack " \x22a6 ⊦ undefined " \x22a7 ⊧ models " \x22a8 ⊨ true " \x22a9 ⊩ forces " \x22aa ⊪ triple vertical bar right turnstile " \x22ab ⊫ undefined " \x22ac ⊬ does not prove " \x22ad ⊭ not true " \x22ae ⊮ does not force " \x22af ⊯ negated double v-bar double r-turnstile " \x22b0 ⊰ undefined " \x22b1 ⊱ undefined " \x22b2 ⊲ normal subgroup of " \x22b3 ⊳ contains as normal subgroup " \x22b4 ⊴ normal subgroup of or equal to " \x22b5 ⊵ contains as normal subgroup or is equal to " \x22b6 ⊶ undefined " \x22b7 ⊷ undefined " \x22b8 ⊸ multimap " \x22b9 ⊹ undefined " \x22ba ⊺ intercalate " \x22bb ⊻ xor " \x22bc ⊼ nand " \x22bd ⊽ undefined " \x22be ⊾ undefined " \x22bf ⊿ undefined " \x22c0 ⋀ undefined " \x22c1 ⋁ undefined " \x22c2 ⋂ undefined " \x22c3 ⋃ undefined " \x22c4 ⋄ diamond operator " \x22c5 ⋅ dot operator " \x22c6 ⋆ star operator " \x22c7 ⋇ division times " \x22c8 ⋈ bowtie " \x22c9 ⋉ left normal factor semidirect product " \x22ca ⋊ right normal factor semidirect product " \x22cb ⋋ left semidirect product " \x22cc ⋌ right semidirect product " \x22cd ⋍ reversed tilde equals " \x22ce ⋎ curly logical or " \x22cf ⋏ curly logical and " \x22d0 ⋐ double subset " \x22d1 ⋑ double superset " \x22d2 ⋒ double intersection " \x22d3 ⋓ double union " \x22d4 ⋔ pitchfork " \x22d5 ⋕ undefined " \x22d6 ⋖ less-than with dot " \x22d7 ⋗ greater-than with dot " \x22d8 ⋘ very much less than " \x22d9 ⋙ very much greater than " \x22da ⋚ less-than equal-to or greater-than " \x22db ⋛ greater-than equal-to or less-than " \x22dc ⋜ equal to or less than " \x22dd ⋝ equal to or greater than " \x22de ⋞ equal to or precedes " \x22df ⋟ equal to or follows " \x22e0 ⋠ does not precede or equal " \x22e1 ⋡ does not follow or equal " \x22e2 ⋢ undefined " \x22e3 ⋣ undefined " \x22e4 ⋤ undefined " \x22e5 ⋥ undefined " \x22e6 ⋦ less than but not equivalent to " \x22e7 ⋧ greater than but not equivalent to " \x22e8 ⋨ precedes but not equivalent to " \x22e9 ⋩ follows but not equivalent to " \x22ea ⋪ not normal subgroup of " \x22eb ⋫ does not contain as normal subgroup " \x22ec ⋬ not normal subgroup of or equal to " \x22ed ⋭ does not contain as normal subgroup or equal " \x22ee ⋮ vertical ellipsis " ... " \x2306 ⌆ perspective " \x2307 ⌇ undefined " \x2308 ⌈ left ceiling " \x2309 ⌉ right ceiling " \x230a ⌊ left floor " \x230b ⌋ right floor " \x230c ⌌ bottom right crop " \x230d ⌍ bottom left crop " \x230e ⌎ top right crop " \x230f ⌏ top left crop " \x2310 ⌐ undefined " \x2311 ⌑ undefined " \x2312 ⌒ undefined " \x2313 ⌓ undefined " \x2314 ⌔ undefined " \x2315 ⌕ telephone recorder " \x2316 ⌖ position indicator " \x2317 ⌗ undefined " \x2318 ⌘ undefined " \x2319 ⌙ undefined " \x231a ⌚ undefined " \x231b ⌛ undefined " \x231c ⌜ top left corner " \x231d ⌝ top right corner " \x231e ⌞ bottom left corner " \x231f ⌟ bottom right corner " \x2320 ⌠ undefined " \x2321 ⌡ undefined " \x2322 ⌢ frown " \x2323 ⌣ smile " \x2324 ⌤ undefined " \x2325 ⌥ undefined " \x2326 ⌦ undefined " \x2327 ⌧ undefined " \x2328 ⌨ undefined " \x2329 〈 left-pointing angle bracket " \x232a 〉 right-pointing angle bracket " ... " \x2423 ␣ open box " ... " \x24C8 Ⓢ circled Latin capital S " ... " \x2500 ─ box drawings light horizontal " \x2501 ━ undefined " \x2502 │ box drawings light vertical " \x2503 ┃ undefined " \x2504 ┄ undefined " \x2505 ┅ undefined " \x2506 ┆ undefined " \x2507 ┇ undefined " \x2508 ┈ undefined " \x2509 ┉ undefined " \x250a ┊ undefined " \x250b ┋ undefined " \x250c ┌ box drawings light down and right " \x250d ┍ undefined " \x250e ┎ undefined " \x250f ┏ undefined " \x2510 ┐ box drawings light down and left " \x2511 ┑ undefined " \x2512 ┒ undefined " \x2513 ┓ undefined " \x2514 └ box drawings light up and right " \x2515 ┕ undefined " \x2516 ┖ undefined " \x2517 ┗ undefined " \x2518 ┘ box drawings light up and left " \x2519 ┙ undefined " \x251a ┚ undefined " \x251b ┛ undefined " \x251c ├ box drawings light vertical and right " \x251d ┝ undefined " \x251e ┞ undefined " \x251f ┟ undefined " \x2520 ┠ undefined " \x2521 ┡ undefined " \x2522 ┢ undefined " \x2523 ┣ undefined " \x2524 ┤ box drawings light vertical and left " \x2525 ┥ undefined " \x2526 ┦ undefined " \x2527 ┧ undefined " \x2528 ┨ undefined " \x2529 ┩ undefined " \x252a ┪ undefined " \x252b ┫ undefined " \x252c ┬ box drawings light down and horizontal " \x252d ┭ undefined " \x252e ┮ undefined " \x252f ┯ undefined " \x2530 ┰ undefined " \x2531 ┱ undefined " \x2532 ┲ undefined " \x2533 ┳ undefined " \x2534 ┴ box drawings light up and horizontal " \x2535 ┵ undefined " \x2536 ┶ undefined " \x2537 ┷ undefined " \x2538 ┸ undefined " \x2539 ┹ undefined " \x253a ┺ undefined " \x253b ┻ undefined " \x253c ┼ box drawings light vertical and horizontal " ... " \x2550 ═ box drawings double horizontal " \x2551 ║ box drawings double vertical " \x2552 ╒ box drawings down single and right double " \x2553 ╓ box drawings down double and right single " \x2554 ╔ box drawings double down and right " \x2555 ╕ box drawings down single and left double " \x2556 ╖ box drawings down double and left single " \x2557 ╗ box drawings double down and left " \x2558 ╘ box drawings up single and right double " \x2559 ╙ box drawings up double and right single " \x255a ╚ box drawings double up and right " \x255b ╛ box drawings up single and left double " \x255c ╜ box drawings up double and left single " \x255d ╝ box drawings double up and left " \x255e ╞ box drawings vertical single and right double " \x255f ╟ box drawings vertical double and right single " \x2560 ╠ box drawings double vertical and right " \x2561 ╡ box drawings vertical single and left double " \x2562 ╢ box drawings vertical double and left single " \x2563 ╣ box drawings double vertical and left " \x2564 ╤ box drawings down single and horizontal double " \x2565 ╥ box drawings down double and horizontal single " \x2566 ╦ box drawings double down and horizontal " \x2567 ╧ box drawings up single and horizontal double " \x2568 ╨ box drawings up double and horizontal single " \x2569 ╩ box drawings double up and horizontal " \x256a ╪ box drawings vertical single and horizontal double " \x256b ╫ box drawings vertical double and horizontal single " \x256c ╬ box drawings double vertical and horizontal " ... " \x2580 ▀ upper half block " \x2581 ▁ undefined " \x2582 ▂ undefined " \x2583 ▃ undefined " \x2584 ▄ lower half block " \x2585 ▅ undefined " \x2586 ▆ undefined " \x2587 ▇ undefined " \x2588 █ full block " \x2589 ▉ undefined " \x258a ▊ undefined " \x258b ▋ undefined " \x258c ▌ undefined " \x258d ▍ undefined " \x258e ▎ undefined " \x258f ▏ undefined " \x2590 ▐ undefined " \x2591 ░ light shade " \x2592 ▒ medium shade " \x2593 ▓ dark shade " \x2594 ▔ undefined " \x2595 ▕ undefined " \x2596 ▖ undefined " \x2597 ▗ undefined " \x2598 ▘ undefined " \x2599 ▙ undefined " \x259a ▚ undefined " \x259b ▛ undefined " \x259c ▜ undefined " \x259d ▝ undefined " \x259e ▞ undefined " \x259f ▟ undefined " \x25a0 ■ undefined " \x25a1 □ white square " \x25a2 ▢ undefined " \x25a3 ▣ undefined " \x25a4 ▤ undefined " \x25a5 ▥ undefined " \x25a6 ▦ undefined " \x25a7 ▧ undefined " \x25a8 ▨ undefined " \x25a9 ▩ undefined " \x25aa ▪ small black square " \x25ab ▫ undefined " \x25ac ▬ undefined " \x25ad ▭ white rectangle " \x25ae ▮ black vertical rectangle " \x25af ▯ undefined " \x25b0 ▰ undefined " \x25b1 ▱ undefined " \x25b2 ▲ undefined " \x25b3 △ white triangle pointing up " \x25b4 ▴ small black triangle pointing up " \x25b5 ▵ small white triangle pointing up " \x25b6 ▶ undefined " \x25b7 ▷ undefined " \x25b8 ▸ small black triangle pointing right " \x25b9 ▹ small white triangle pointing right " \x25ba ► undefined " \x25bb ▻ undefined " \x25bc ▼ undefined " \x25bd ▽ white triangle pointing down " \x25be ▾ small black triangle pointing down " \x25bf ▿ small white triangle pointing down " \x25c0 ◀ undefined " \x25c1 ◁ undefined " \x25c2 ◂ small black triangle pointing left " \x25c3 ◃ small white triangle pointing left " \x25c4 ◄ undefined " \x25c5 ◅ undefined " \x25c6 ◆ undefined " \x25c7 ◇ undefined " \x25c8 ◈ undefined " \x25c9 ◉ undefined " \x25ca ◊ lozenge " \x25cb ○ white circle " ... " \x2605 ★ black star " \x2606 ☆ white star " \x2607 ☇ undefined " \x2608 ☈ undefined " \x2609 ☉ undefined " \x260a ☊ undefined " \x260b ☋ undefined " \x260c ☌ undefined " \x260d ☍ undefined " \x260e ☎ black telephone " \x260f ☏ undefined " ... " \x2640 ♀ female sign " \x2641 ♁ undefined " \x2642 ♂ male sign " ... " \x2660 ♠ black spade suit " \x2661 ♡ undefined " \x2662 ♢ undefined " \x2663 ♣ black club suit " \x2664 ♤ undefined " \x2665 ♥ black heart suit " \x2666 ♦ black diamond suit " \x2667 ♧ undefined " \x2668 ♨ undefined " \x2669 ♩ undefined " \x266a ♪ eigth note " \x266b ♫ undefined " \x266c ♬ undefined " \x266d ♭ music flat sign " \x266e ♮ music natural sign " \x266f ♯ music sharp sign " ... " \x2713 ✓ check mark " \x2714 ✔ undefined " \x2715 ✕ undefined " \x2716 ✖ undefined " \x2717 ✗ ballot X " \x2718 ✘ undefined " \x2719 ✙ undefined " \x271a ✚ undefined " \x271b ✛ undefined " \x271c ✜ undefined " \x271d ✝ undefined " \x271e ✞ undefined " \x271f ✟ undefined " \x2720 ✠ Maltese cross " \x2721 ✡ undefined " \x2722 ✢ undefined " \x2723 ✣ undefined " \x2724 ✤ undefined " \x2725 ✥ undefined " \x2726 ✦ black 4-pointed star " \x2727 ✧ white 4-pointed star " ... " \x2736 ✶ 6-pointed black star " ... " \xfb00 ff Latin small ligature ff " \xfb01 fi Latin small ligature fi " \xfb02 fl Latin small ligature fl " \xfb03 ffi Latin small ligature ffi " \xfb04 ffl Latin small ligature ffl