Luatex Glyph Chart for Stix2math.Otf Some Background Information: Unicode Ranges
Total Page:16
File Type:pdf, Size:1020Kb
LuaTEX glyph chart for STIX2Math.otf Some background information: Unicode ranges OpenType fonts can contain additional symbols (glyphs) which represent characters that do not have an official Unicode encoding value. These unencoded characters (glyphs) are sometimes assigned to so-called “Private Use” Unicode values by software using the OpenType font: this behaviour is system/software dependent. Unicode sets aside three ranges of values for Private Use: • Basic Multilingual Plane: E000–F8FF (57,344–63,743) • Plane 15: F0000–FFFFD (983,040–1,048,573) • Plane 16: 100000–10FFFD (1,048,576–1,114,109) The STIX2Math.otf font has numerous unencoded characters which LuaTEX, via luaotfload, maps to Private Use Uni- code values. For further information on Private Use areas see https://en.wikipedia.org/wiki/Private_Use_Areas. Table of Unicode blocks for math characters The following table shows the names given to ranges (blocks) of mathematical characters encoded by Unicode, together with the range of Unicode values for each block and the number of characters encoded. Name of Unicode block Unicode range (decimal) Unicode range (hex) Number of symbols Mathematical Operators 8704–8959 2200–22FF 256 Supplemental Mathematical Operators 10,752–11,007 2A00–2AFF 256 Mathematical Alphanumeric Symbols 119,808–120,831 1D400–1D7FF 1024 Letterlike Symbols 8848–8527 2100–214F 80 Miscellaneous Mathematical Symbols-A 10,176–10,223 27C0–27EF 48 Miscellaneous Mathematical Symbols-B 10,624–10,751 2980–29FF 128 Miscellaneous Technical 8960–9215 2300–23FF 256 Geometric Shapes 9632–9727 25A0–25FF 96 Miscellaneous Symbols and Arrows 11,008–11,263 2B00–2BFF 256 Arrows 8592–8703 2190–21FF 112 Supplemental Arrows-A 10,224–10,239 27F0–27FF 16 Supplemental Arrows-B 10,496–10,623 2900–297F 128 Combining Diacritical Marks for Symbols 8400–8447 20D0–20FF 48 Arabic Mathematical Alphabetic Symbols 126,464–126,719 1EE00–1EEFF 256 Why LuaTEX only: a brief technical explanation This glyph chart is primarily intended for use with LuaTEX (LuaLATEX). It contains a complete listing of every glyph con- tained in the STIX2 font STIX2Math.otf—including characters (glyphs) that are not encoded within Unicode: so-called unencoded characters. When LuaTEX (via the luaotfload package) loads the STIX2Math.otf font it maps the unencoded characters (glyphs) to Unicode values within the Private Use ranges. To highlight this we have assigned three different colours to glyphs contained our chart for STIX2Math.otf: • Encoded characters: displayed in red • Private Use (Basic Multilingual Plane): E000–F8FF (57,344–63,743) • Private Use (Plane 15): F0000–FFFFD (983,040–1,048,573) Note: Many of the Unicode-encoded characters (glyphs), coloured red in this chart, may not belong to any of the Unicode blocks assigned to math characters but, instead, are encoded elsewhere within other Unicode blocks. For example, character (glyph) 9619 (▓) is named “DARK SHADE” and encoded as part of the Unicode range called “Block Elements” https: //en.wikipedia.org/wiki/Block_Elements. So, as you can see, STIX2Math.otf contains a wide range of encoded and unencoded characters (glyphs). Information for each glyph Each glyph is accompanied by the following information: • its Unicode value displayed in blue text (U=xxxx...). • its glyph identifier (GID=...) shown in black text. How can I access one of the glyphs shown in the chart? Because STIX2Math.otf is a math font you’ll need to put LuaTEX into math mode to access the glyphs. All you need to do is write $\mathrm{\charxxxx...}$ where xxxx... is that character’s (glyph’s) Unicode value—whether it is encoded or not. Here are some examples: Unicode value TEX code Glyph produced U=983339 $\mathrm{\char983339}$ ∜ U=934 $\mathrm{\char934}$ Φ U=9619 $\mathrm{\char9619}$ ▓ U=10717 $\mathrm{\char10717}$ ⧝ U=98316 $\mathrm{\char983168}$ } How was this chart created? This chart was produced using a “callback” feature of the luaotfload package: patch_font. Via this mechanism, it is possible to intercept, store and subsequently process the low-level data contained in the OpenType fonts loaded into LuaTEX. In outline, the code looks like the following snippet, where tfmdata contains the OpenType font data we wish to process/tabulate. \directlua { local dump_font = function (tfmdata) objstore[filenum]=tfmdata end luatexbase.add_to_callback( "luaotfload.patch_font", dump_font, "my_private_callbacks_dump_font" ) } Glyph chart for STIX2Math.otf Glyphs in this table are listed according to their Unicode value (in ascending order) and, for clarity, are displayed using a large point size. ! " # $ % U=32 U=33 U=34 U=35 U=36 U=37 GID=1 GID=1054 GID=1071 GID=1136 GID=1124 GID=1193 & ′ ( ) ∗ + U=38 U=39 U=40 U=41 U=42 U=43 GID=658 GID=1070 GID=1064 GID=1065 GID=1072 GID=1196 , − . / 0 1 U=44 U=45 U=46 U=47 U=48 U=49 GID=1048 GID=1075 GID=1052 GID=1060 GID=1137 GID=1138 2 3 4 5 6 7 U=50 U=51 U=52 U=53 U=54 U=55 GID=1139 GID=1140 GID=1141 GID=1142 GID=1143 GID=1144 8 9 ∶ ; < = U=56 U=57 U=58 U=59 U=60 U=61 GID=1145 GID=1146 GID=1051 GID=1049 GID=1203 GID=1202 > ? @ A B C U=62 U=63 U=64 U=65 U=66 U=67 GID=1204 GID=1056 GID=1116 GID=3 GID=4 GID=5 D E F G H I U=68 U=69 U=70 U=71 U=72 U=73 GID=6 GID=7 GID=8 GID=9 GID=10 GID=11 J K L M N O U=74 U=75 U=76 U=77 U=78 U=79 GID=12 GID=13 GID=14 GID=15 GID=16 GID=17 P Q R S T U U=80 U=81 U=82 U=83 U=84 U=85 GID=18 GID=19 GID=20 GID=21 GID=22 GID=23 V W X Y Z [ U=86 U=87 U=88 U=89 U=90 U=91 GID=24 GID=25 GID=26 GID=27 GID=28 GID=1066 \ ] ^ _ ‵ a U=92 U=93 U=94 U=95 U=96 U=97 GID=1061 GID=1067 GID=1108 GID=1111 GID=687 GID=255 b c d e f g U=98 U=99 U=100 U=101 U=102 U=103 GID=256 GID=257 GID=258 GID=259 GID=260 GID=261 h i j k l m U=104 U=105 U=106 U=107 U=108 U=109 GID=262 GID=263 GID=265 GID=266 GID=267 GID=268 n o p q r s U=110 U=111 U=112 U=113 U=114 U=115 GID=269 GID=270 GID=271 GID=272 GID=273 GID=274 t u v w x y U=116 U=117 U=118 U=119 U=120 U=121 GID=275 GID=276 GID=277 GID=278 GID=279 GID=280 z { | } ~ U=122 U=123 U=124 U=125 U=126 U=160 GID=281 GID=1068 GID=1062 GID=1069 GID=1109 GID=2 ¡ ¢ £ ¤ ¥ ¦ U=161 U=162 U=163 U=164 U=165 U=166 GID=1055 GID=1125 GID=1126 GID=1122 GID=1127 GID=1110 § ¨ © ª « ¬ U=167 U=168 U=169 U=170 U=171 U=172 GID=1099 GID=694 GID=1117 GID=1206 GID=1093 GID=1205 ® ¯ ° ± 2 U=173 U=174 U=175 U=176 U=177 U=178 GID=1077 GID=1120 GID=695 GID=1208 GID=1199 GID=1149 3 ´ µ ¶ · ¸ U=179 U=180 U=181 U=182 U=183 U=184 GID=1150 GID=689 GID=1216 GID=1097 GID=1101 GID=702 1 1 3 1 º » 4 2 4 U=185 U=186 U=187 U=188 U=189 U=190 GID=1148 GID=1207 GID=1094 GID=1181 GID=1185 GID=1189 ¿ À Á Â Ã Ä U=191 U=192 U=193 U=194 U=195 U=196 GID=1057 GID=29 GID=30 GID=31 GID=37 GID=38 Å Æ Ç È É Ê U=197 U=198 U=199 U=200 U=201 U=202 GID=47 GID=53 GID=62 GID=71 GID=72 GID=73 Ë Ì Í Î Ï Ð U=203 U=204 U=205 U=206 U=207 U=208 GID=81 GID=107 GID=108 GID=109 GID=111 GID=252 Ñ Ò Ó Ô Õ Ö U=209 U=210 U=211 U=212 U=213 U=214 GID=139 GID=145 GID=146 GID=147 GID=153 GID=156 × Ø Ù Ú Û Ü U=215 U=216 U=217 U=218 U=219 U=220 GID=1200 GID=170 GID=201 GID=202 GID=203 GID=206 Ý Þ ß à á â U=221 U=222 U=223 U=224 U=225 U=226 GID=235 GID=253 GID=465 GID=282 GID=283 GID=284 ã ä å æ ç è U=227 U=228 U=229 U=230 U=231 U=232 GID=290 GID=291 GID=300 GID=307 GID=317 GID=329 é ê ë ì í î U=233 U=234 U=235 U=236 U=237 U=238 GID=330 GID=331 GID=339 GID=369 GID=370 GID=371 ï ð ñ ò ó ô U=239 U=240 U=241 U=242 U=243 U=244 GID=373 GID=620 GID=409 GID=416 GID=417 GID=418 õ ö ÷ ø ù ú U=245 U=246 U=247 U=248 U=249 U=250 GID=424 GID=427 GID=1201 GID=441 GID=477 GID=478 û ü ý þ ÿ Ā U=251 U=252 U=253 U=254 U=255 U=256 GID=479 GID=482 GID=514 GID=621 GID=517 GID=40 ā Ă ă Ą ą Ć U=257 U=258 U=259 U=260 U=261 U=262 GID=293 GID=41 GID=294 GID=52 GID=306 GID=58 ć Ĉ ĉ Ċ ċ Č U=263 U=264 U=265 U=266 U=267 U=268 GID=313 GID=59 GID=314 GID=61 GID=316 GID=60 č Ď ď Đ đ Ē U=269 U=270 U=271 U=272 U=273 U=274 GID=315 GID=64 GID=320 GID=70 GID=326 GID=82 ē Ĕ ĕ Ė ė Ę U=275 U=276 U=277 U=278 U=279 U=280 GID=340 GID=85 GID=343 GID=86 GID=344 GID=93 ę Ě ě Ĝ ĝ Ğ U=281 U=282 U=283 U=284 U=285 U=286 GID=351 GID=79 GID=337 GID=95 GID=354 GID=97 ğ Ġ ġ Ģ ģ Ĥ U=287 U=288 U=289 U=290 U=291 U=292 GID=356 GID=98 GID=357 GID=99 GID=358 GID=100 ĥ Ħ ħ Ĩ ĩ Ī U=293 U=294 U=295 U=296 U=297 U=298 GID=360 GID=106 GID=367 GID=110 GID=372 GID=113 ī Ĭ ĭ Į į İ U=299 U=300 U=301 U=302 U=303 U=304 GID=375 GID=114 GID=376 GID=119 GID=380 GID=115 횤 IJ ij Ĵ ĵ Ķ U=305 U=306 U=307 U=308 U=309 U=310 GID=382 GID=254 GID=646 GID=120 GID=384 GID=124 ķ ĸ Ĺ ĺ Ļ ļ U=311 U=312 U=313 U=314 U=315 U=316 GID=390 GID=392 GID=125 GID=393 GID=131 GID=399 Ľ ľ Ŀ ŀ Ł ł U=317 U=318 U=319 U=320 U=321 U=322 GID=126 GID=394 GID=132 GID=400 GID=133 GID=401 Ń ń Ņ ņ Ň ň U=323 U=324 U=325 U=326 U=327 U=328 GID=137 GID=407 GID=144 GID=414 GID=138 GID=408 ʼn Ŋ ŋ Ō ō Ŏ U=329 U=330 U=331 U=332 U=333 U=334 GID=415 GID=251 GID=580 GID=157 GID=428 GID=160 ŏ Ő ő Œ œ Ŕ U=335 U=336 U=337 U=338 U=339 U=340 GID=431 GID=162 GID=432 GID=172 GID=444 GID=175 ŕ Ŗ ŗ Ř ř Ś U=341 U=342 U=343 U=344 U=345 U=346 GID=448 GID=181 GID=454 GID=176 GID=449 GID=182 ś Ŝ ŝ Ş ş Š U=347 U=348 U=349 U=350 U=351 U=352 GID=455 GID=184 GID=457 GID=191 GID=464 GID=185 š Ţ ţ Ť ť Ŧ U=353 U=354 U=355 U=356 U=357 U=358 GID=458 GID=199 GID=473 GID=193 GID=466 GID=200 ŧ Ũ ũ Ū ū Ŭ U=359 U=360 U=361 U=362 U=363 U=364 GID=476 GID=204 GID=480 GID=207 GID=483 GID=209 ŭ Ů ů Ű ű Ų U=365 U=366 U=367 U=368 U=369 U=370 GID=485 GID=210 GID=486 GID=212 GID=488 GID=217 ų Ŵ ŵ Ŷ ŷ Ÿ U=371 U=372 U=373 U=374 U=375 U=376 GID=493 GID=228 GID=506 GID=236 GID=515 GID=238 Ź ź Ż ż Ž ž U=377 U=378 U=379 U=380 U=381 U=382 GID=242