SDL_test_font.c 70 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490
  1. /*
  2. Simple DirectMedia Layer
  3. Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
  4. This software is provided 'as-is', without any express or implied
  5. warranty. In no event will the authors be held liable for any damages
  6. arising from the use of this software.
  7. Permission is granted to anyone to use this software for any purpose,
  8. including commercial applications, and to alter it and redistribute it
  9. freely, subject to the following restrictions:
  10. 1. The origin of this software must not be misrepresented; you must not
  11. claim that you wrote the original software. If you use this software
  12. in a product, an acknowledgment in the product documentation would be
  13. appreciated but is not required.
  14. 2. Altered source versions must be plainly marked as such, and must not be
  15. misrepresented as being the original software.
  16. 3. This notice may not be removed or altered from any source distribution.
  17. */
  18. #include <SDL3/SDL_test.h>
  19. /* ---- 8x8 font definition ---- */
  20. /*
  21. ; Summary: font8_8.asm
  22. ; 8x8 monochrome bitmap fonts for rendering
  23. ;
  24. ; Author:
  25. ; Marcel Sondaar
  26. ; International Business Machines (public domain VGA fonts)
  27. ;
  28. ; License:
  29. ; Public Domain
  30. ;
  31. */
  32. static unsigned char SDLTest_FontData[] = {
  33. /*
  34. * 0 0x00 '^@'
  35. */
  36. 0x00, /* 00000000 */
  37. 0x00, /* 00000000 */
  38. 0x00, /* 00000000 */
  39. 0x00, /* 00000000 */
  40. 0x00, /* 00000000 */
  41. 0x00, /* 00000000 */
  42. 0x00, /* 00000000 */
  43. 0x00, /* 00000000 */
  44. /*
  45. * 1 0x01 '^A'
  46. */
  47. 0x00, /* 00000000 */
  48. 0x00, /* 00000000 */
  49. 0x00, /* 00000000 */
  50. 0x00, /* 00000000 */
  51. 0x00, /* 00000000 */
  52. 0x00, /* 00000000 */
  53. 0x00, /* 00000000 */
  54. 0x00, /* 00000000 */
  55. /*
  56. * 2 0x02 '^B'
  57. */
  58. 0x00, /* 00000000 */
  59. 0x00, /* 00000000 */
  60. 0x00, /* 00000000 */
  61. 0x00, /* 00000000 */
  62. 0x00, /* 00000000 */
  63. 0x00, /* 00000000 */
  64. 0x00, /* 00000000 */
  65. 0x00, /* 00000000 */
  66. /*
  67. * 3 0x03 '^C'
  68. */
  69. 0x00, /* 00000000 */
  70. 0x00, /* 00000000 */
  71. 0x00, /* 00000000 */
  72. 0x00, /* 00000000 */
  73. 0x00, /* 00000000 */
  74. 0x00, /* 00000000 */
  75. 0x00, /* 00000000 */
  76. 0x00, /* 00000000 */
  77. /*
  78. * 4 0x04 '^D'
  79. */
  80. 0x00, /* 00000000 */
  81. 0x00, /* 00000000 */
  82. 0x00, /* 00000000 */
  83. 0x00, /* 00000000 */
  84. 0x00, /* 00000000 */
  85. 0x00, /* 00000000 */
  86. 0x00, /* 00000000 */
  87. 0x00, /* 00000000 */
  88. /*
  89. * 5 0x05 '^E'
  90. */
  91. 0x00, /* 00000000 */
  92. 0x00, /* 00000000 */
  93. 0x00, /* 00000000 */
  94. 0x00, /* 00000000 */
  95. 0x00, /* 00000000 */
  96. 0x00, /* 00000000 */
  97. 0x00, /* 00000000 */
  98. 0x00, /* 00000000 */
  99. /*
  100. * 6 0x06 '^F'
  101. */
  102. 0x00, /* 00000000 */
  103. 0x00, /* 00000000 */
  104. 0x00, /* 00000000 */
  105. 0x00, /* 00000000 */
  106. 0x00, /* 00000000 */
  107. 0x00, /* 00000000 */
  108. 0x00, /* 00000000 */
  109. 0x00, /* 00000000 */
  110. /*
  111. * 7 0x07 '^G'
  112. */
  113. 0x00, /* 00000000 */
  114. 0x00, /* 00000000 */
  115. 0x00, /* 00000000 */
  116. 0x00, /* 00000000 */
  117. 0x00, /* 00000000 */
  118. 0x00, /* 00000000 */
  119. 0x00, /* 00000000 */
  120. 0x00, /* 00000000 */
  121. /*
  122. * 8 0x08 '^H'
  123. */
  124. 0x00, /* 00000000 */
  125. 0x00, /* 00000000 */
  126. 0x00, /* 00000000 */
  127. 0x00, /* 00000000 */
  128. 0x00, /* 00000000 */
  129. 0x00, /* 00000000 */
  130. 0x00, /* 00000000 */
  131. 0x00, /* 00000000 */
  132. /*
  133. * 9 0x09 '^I'
  134. */
  135. 0x00, /* 00000000 */
  136. 0x00, /* 00000000 */
  137. 0x00, /* 00000000 */
  138. 0x00, /* 00000000 */
  139. 0x00, /* 00000000 */
  140. 0x00, /* 00000000 */
  141. 0x00, /* 00000000 */
  142. 0x00, /* 00000000 */
  143. /*
  144. * 10 0x0a '^J'
  145. */
  146. 0x00, /* 00000000 */
  147. 0x00, /* 00000000 */
  148. 0x00, /* 00000000 */
  149. 0x00, /* 00000000 */
  150. 0x00, /* 00000000 */
  151. 0x00, /* 00000000 */
  152. 0x00, /* 00000000 */
  153. 0x00, /* 00000000 */
  154. /*
  155. * 11 0x0b '^K'
  156. */
  157. 0x00, /* 00000000 */
  158. 0x00, /* 00000000 */
  159. 0x00, /* 00000000 */
  160. 0x00, /* 00000000 */
  161. 0x00, /* 00000000 */
  162. 0x00, /* 00000000 */
  163. 0x00, /* 00000000 */
  164. 0x00, /* 00000000 */
  165. /*
  166. * 12 0x0c '^L'
  167. */
  168. 0x00, /* 00000000 */
  169. 0x00, /* 00000000 */
  170. 0x00, /* 00000000 */
  171. 0x00, /* 00000000 */
  172. 0x00, /* 00000000 */
  173. 0x00, /* 00000000 */
  174. 0x00, /* 00000000 */
  175. 0x00, /* 00000000 */
  176. /*
  177. * 13 0x0d '^M'
  178. */
  179. 0x00, /* 00000000 */
  180. 0x00, /* 00000000 */
  181. 0x00, /* 00000000 */
  182. 0x00, /* 00000000 */
  183. 0x00, /* 00000000 */
  184. 0x00, /* 00000000 */
  185. 0x00, /* 00000000 */
  186. 0x00, /* 00000000 */
  187. /*
  188. * 14 0x0e '^N'
  189. */
  190. 0x00, /* 00000000 */
  191. 0x00, /* 00000000 */
  192. 0x00, /* 00000000 */
  193. 0x00, /* 00000000 */
  194. 0x00, /* 00000000 */
  195. 0x00, /* 00000000 */
  196. 0x00, /* 00000000 */
  197. 0x00, /* 00000000 */
  198. /*
  199. * 15 0x0f '^O'
  200. */
  201. 0x00, /* 00000000 */
  202. 0x00, /* 00000000 */
  203. 0x00, /* 00000000 */
  204. 0x00, /* 00000000 */
  205. 0x00, /* 00000000 */
  206. 0x00, /* 00000000 */
  207. 0x00, /* 00000000 */
  208. 0x00, /* 00000000 */
  209. /*
  210. * 16 0x10 '^P'
  211. */
  212. 0x00, /* 00000000 */
  213. 0x00, /* 00000000 */
  214. 0x00, /* 00000000 */
  215. 0x00, /* 00000000 */
  216. 0x00, /* 00000000 */
  217. 0x00, /* 00000000 */
  218. 0x00, /* 00000000 */
  219. 0x00, /* 00000000 */
  220. /*
  221. * 17 0x11 '^Q'
  222. */
  223. 0x00, /* 00000000 */
  224. 0x00, /* 00000000 */
  225. 0x00, /* 00000000 */
  226. 0x00, /* 00000000 */
  227. 0x00, /* 00000000 */
  228. 0x00, /* 00000000 */
  229. 0x00, /* 00000000 */
  230. 0x00, /* 00000000 */
  231. /*
  232. * 18 0x12 '^R'
  233. */
  234. 0x00, /* 00000000 */
  235. 0x00, /* 00000000 */
  236. 0x00, /* 00000000 */
  237. 0x00, /* 00000000 */
  238. 0x00, /* 00000000 */
  239. 0x00, /* 00000000 */
  240. 0x00, /* 00000000 */
  241. 0x00, /* 00000000 */
  242. /*
  243. * 19 0x13 '^S'
  244. */
  245. 0x00, /* 00000000 */
  246. 0x00, /* 00000000 */
  247. 0x00, /* 00000000 */
  248. 0x00, /* 00000000 */
  249. 0x00, /* 00000000 */
  250. 0x00, /* 00000000 */
  251. 0x00, /* 00000000 */
  252. 0x00, /* 00000000 */
  253. /*
  254. * 20 0x14 '^T'
  255. */
  256. 0x00, /* 00000000 */
  257. 0x00, /* 00000000 */
  258. 0x00, /* 00000000 */
  259. 0x00, /* 00000000 */
  260. 0x00, /* 00000000 */
  261. 0x00, /* 00000000 */
  262. 0x00, /* 00000000 */
  263. 0x00, /* 00000000 */
  264. /*
  265. * 21 0x15 '^U'
  266. */
  267. 0x00, /* 00000000 */
  268. 0x00, /* 00000000 */
  269. 0x00, /* 00000000 */
  270. 0x00, /* 00000000 */
  271. 0x00, /* 00000000 */
  272. 0x00, /* 00000000 */
  273. 0x00, /* 00000000 */
  274. 0x00, /* 00000000 */
  275. /*
  276. * 22 0x16 '^V'
  277. */
  278. 0x00, /* 00000000 */
  279. 0x00, /* 00000000 */
  280. 0x00, /* 00000000 */
  281. 0x00, /* 00000000 */
  282. 0x00, /* 00000000 */
  283. 0x00, /* 00000000 */
  284. 0x00, /* 00000000 */
  285. 0x00, /* 00000000 */
  286. /*
  287. * 23 0x17 '^W'
  288. */
  289. 0x00, /* 00000000 */
  290. 0x00, /* 00000000 */
  291. 0x00, /* 00000000 */
  292. 0x00, /* 00000000 */
  293. 0x00, /* 00000000 */
  294. 0x00, /* 00000000 */
  295. 0x00, /* 00000000 */
  296. 0x00, /* 00000000 */
  297. /*
  298. * 24 0x18 '^X'
  299. */
  300. 0x00, /* 00000000 */
  301. 0x00, /* 00000000 */
  302. 0x00, /* 00000000 */
  303. 0x00, /* 00000000 */
  304. 0x00, /* 00000000 */
  305. 0x00, /* 00000000 */
  306. 0x00, /* 00000000 */
  307. 0x00, /* 00000000 */
  308. /*
  309. * 25 0x19 '^Y'
  310. */
  311. 0x00, /* 00000000 */
  312. 0x00, /* 00000000 */
  313. 0x00, /* 00000000 */
  314. 0x00, /* 00000000 */
  315. 0x00, /* 00000000 */
  316. 0x00, /* 00000000 */
  317. 0x00, /* 00000000 */
  318. 0x00, /* 00000000 */
  319. /*
  320. * 26 0x1a '^Z'
  321. */
  322. 0x00, /* 00000000 */
  323. 0x00, /* 00000000 */
  324. 0x00, /* 00000000 */
  325. 0x00, /* 00000000 */
  326. 0x00, /* 00000000 */
  327. 0x00, /* 00000000 */
  328. 0x00, /* 00000000 */
  329. 0x00, /* 00000000 */
  330. /*
  331. * 27 0x1b '^['
  332. */
  333. 0x00, /* 00000000 */
  334. 0x00, /* 00000000 */
  335. 0x00, /* 00000000 */
  336. 0x00, /* 00000000 */
  337. 0x00, /* 00000000 */
  338. 0x00, /* 00000000 */
  339. 0x00, /* 00000000 */
  340. 0x00, /* 00000000 */
  341. /*
  342. * 28 0x1c '^\'
  343. */
  344. 0x00, /* 00000000 */
  345. 0x00, /* 00000000 */
  346. 0x00, /* 00000000 */
  347. 0x00, /* 00000000 */
  348. 0x00, /* 00000000 */
  349. 0x00, /* 00000000 */
  350. 0x00, /* 00000000 */
  351. 0x00, /* 00000000 */
  352. /*
  353. * 29 0x1d '^]'
  354. */
  355. 0x00, /* 00000000 */
  356. 0x00, /* 00000000 */
  357. 0x00, /* 00000000 */
  358. 0x00, /* 00000000 */
  359. 0x00, /* 00000000 */
  360. 0x00, /* 00000000 */
  361. 0x00, /* 00000000 */
  362. 0x00, /* 00000000 */
  363. /*
  364. * 30 0x1e '^^'
  365. */
  366. 0x00, /* 00000000 */
  367. 0x00, /* 00000000 */
  368. 0x00, /* 00000000 */
  369. 0x00, /* 00000000 */
  370. 0x00, /* 00000000 */
  371. 0x00, /* 00000000 */
  372. 0x00, /* 00000000 */
  373. 0x00, /* 00000000 */
  374. /*
  375. * 31 0x1f '^_'
  376. */
  377. 0x00, /* 00000000 */
  378. 0x00, /* 00000000 */
  379. 0x00, /* 00000000 */
  380. 0x00, /* 00000000 */
  381. 0x00, /* 00000000 */
  382. 0x00, /* 00000000 */
  383. 0x00, /* 00000000 */
  384. 0x00, /* 00000000 */
  385. /*
  386. * 32 0x20 ' '
  387. */
  388. 0x00, /* 00000000 */
  389. 0x00, /* 00000000 */
  390. 0x00, /* 00000000 */
  391. 0x00, /* 00000000 */
  392. 0x00, /* 00000000 */
  393. 0x00, /* 00000000 */
  394. 0x00, /* 00000000 */
  395. 0x00, /* 00000000 */
  396. /*
  397. * 33 0x21 '!'
  398. */
  399. 0x18, /* 00011000 */
  400. 0x3c, /* 00111100 */
  401. 0x3c, /* 00111100 */
  402. 0x18, /* 00011000 */
  403. 0x18, /* 00011000 */
  404. 0x00, /* 00000000 */
  405. 0x18, /* 00011000 */
  406. 0x00, /* 00000000 */
  407. /*
  408. * 34 0x22 '"'
  409. */
  410. 0x36, /* 01101100 */
  411. 0x36, /* 01101100 */
  412. 0x00, /* 00000000 */
  413. 0x00, /* 00000000 */
  414. 0x00, /* 00000000 */
  415. 0x00, /* 00000000 */
  416. 0x00, /* 00000000 */
  417. 0x00, /* 00000000 */
  418. /*
  419. * 35 0x23 '#'
  420. */
  421. 0x36, /* 01101100 */
  422. 0x36, /* 01101100 */
  423. 0x7f, /* 11111110 */
  424. 0x36, /* 01101100 */
  425. 0x7f, /* 11111110 */
  426. 0x36, /* 01101100 */
  427. 0x36, /* 01101100 */
  428. 0x00, /* 00000000 */
  429. /*
  430. * 36 0x24 '$'
  431. */
  432. 0x0c, /* 00110000 */
  433. 0x3e, /* 01111100 */
  434. 0x03, /* 11000000 */
  435. 0x1e, /* 01111000 */
  436. 0x30, /* 00001100 */
  437. 0x1f, /* 11111000 */
  438. 0x0c, /* 00110000 */
  439. 0x00, /* 00000000 */
  440. /*
  441. * 37 0x25 '%'
  442. */
  443. 0x00, /* 00000000 */
  444. 0x63, /* 11000110 */
  445. 0x33, /* 11001100 */
  446. 0x18, /* 00011000 */
  447. 0x0c, /* 00110000 */
  448. 0x66, /* 01100110 */
  449. 0x63, /* 11000110 */
  450. 0x00, /* 00000000 */
  451. /*
  452. * 38 0x26 '&'
  453. */
  454. 0x1c, /* 00111000 */
  455. 0x36, /* 01101100 */
  456. 0x1c, /* 00111000 */
  457. 0x6e, /* 01110110 */
  458. 0x3b, /* 11011100 */
  459. 0x33, /* 11001100 */
  460. 0x6e, /* 01110110 */
  461. 0x00, /* 00000000 */
  462. /*
  463. * 39 0x27 '''
  464. */
  465. 0x06, /* 01100000 */
  466. 0x06, /* 01100000 */
  467. 0x03, /* 11000000 */
  468. 0x00, /* 00000000 */
  469. 0x00, /* 00000000 */
  470. 0x00, /* 00000000 */
  471. 0x00, /* 00000000 */
  472. 0x00, /* 00000000 */
  473. /*
  474. * 40 0x28 '('
  475. */
  476. 0x18, /* 00011000 */
  477. 0x0c, /* 00110000 */
  478. 0x06, /* 01100000 */
  479. 0x06, /* 01100000 */
  480. 0x06, /* 01100000 */
  481. 0x0c, /* 00110000 */
  482. 0x18, /* 00011000 */
  483. 0x00, /* 00000000 */
  484. /*
  485. * 41 0x29 ')'
  486. */
  487. 0x06, /* 01100000 */
  488. 0x0c, /* 00110000 */
  489. 0x18, /* 00011000 */
  490. 0x18, /* 00011000 */
  491. 0x18, /* 00011000 */
  492. 0x0c, /* 00110000 */
  493. 0x06, /* 01100000 */
  494. 0x00, /* 00000000 */
  495. /*
  496. * 42 0x2a '*'
  497. */
  498. 0x00, /* 00000000 */
  499. 0x66, /* 01100110 */
  500. 0x3c, /* 00111100 */
  501. 0xff, /* 11111111 */
  502. 0x3c, /* 00111100 */
  503. 0x66, /* 01100110 */
  504. 0x00, /* 00000000 */
  505. 0x00, /* 00000000 */
  506. /*
  507. * 43 0x2b '+'
  508. */
  509. 0x00, /* 00000000 */
  510. 0x0c, /* 00110000 */
  511. 0x0c, /* 00110000 */
  512. 0x3f, /* 11111100 */
  513. 0x0c, /* 00110000 */
  514. 0x0c, /* 00110000 */
  515. 0x00, /* 00000000 */
  516. 0x00, /* 00000000 */
  517. /*
  518. * 44 0x2c ','
  519. */
  520. 0x00, /* 00000000 */
  521. 0x00, /* 00000000 */
  522. 0x00, /* 00000000 */
  523. 0x00, /* 00000000 */
  524. 0x00, /* 00000000 */
  525. 0x0c, /* 00110000 */
  526. 0x0c, /* 00110000 */
  527. 0x06, /* 01100000 */
  528. /*
  529. * 45 0x2d '-'
  530. */
  531. 0x00, /* 00000000 */
  532. 0x00, /* 00000000 */
  533. 0x00, /* 00000000 */
  534. 0x3f, /* 11111100 */
  535. 0x00, /* 00000000 */
  536. 0x00, /* 00000000 */
  537. 0x00, /* 00000000 */
  538. 0x00, /* 00000000 */
  539. /*
  540. * 46 0x2e '.'
  541. */
  542. 0x00, /* 00000000 */
  543. 0x00, /* 00000000 */
  544. 0x00, /* 00000000 */
  545. 0x00, /* 00000000 */
  546. 0x00, /* 00000000 */
  547. 0x0c, /* 00110000 */
  548. 0x0c, /* 00110000 */
  549. 0x00, /* 00000000 */
  550. /*
  551. * 47 0x2f '/'
  552. */
  553. 0x60, /* 00000110 */
  554. 0x30, /* 00001100 */
  555. 0x18, /* 00011000 */
  556. 0x0c, /* 00110000 */
  557. 0x06, /* 01100000 */
  558. 0x03, /* 11000000 */
  559. 0x01, /* 10000000 */
  560. 0x00, /* 00000000 */
  561. /*
  562. * 48 0x30 '0'
  563. */
  564. 0x3e, /* 01111100 */
  565. 0x63, /* 11000110 */
  566. 0x73, /* 11001110 */
  567. 0x7b, /* 11011110 */
  568. 0x6f, /* 11110110 */
  569. 0x67, /* 11100110 */
  570. 0x3e, /* 01111100 */
  571. 0x00, /* 00000000 */
  572. /*
  573. * 49 0x31 '1'
  574. */
  575. 0x0c, /* 00110000 */
  576. 0x0e, /* 01110000 */
  577. 0x0c, /* 00110000 */
  578. 0x0c, /* 00110000 */
  579. 0x0c, /* 00110000 */
  580. 0x0c, /* 00110000 */
  581. 0x3f, /* 11111100 */
  582. 0x00, /* 00000000 */
  583. /*
  584. * 50 0x32 '2'
  585. */
  586. 0x1e, /* 01111000 */
  587. 0x33, /* 11001100 */
  588. 0x30, /* 00001100 */
  589. 0x1c, /* 00111000 */
  590. 0x06, /* 01100000 */
  591. 0x33, /* 11001100 */
  592. 0x3f, /* 11111100 */
  593. 0x00, /* 00000000 */
  594. /*
  595. * 51 0x33 '3'
  596. */
  597. 0x1e, /* 01111000 */
  598. 0x33, /* 11001100 */
  599. 0x30, /* 00001100 */
  600. 0x1c, /* 00111000 */
  601. 0x30, /* 00001100 */
  602. 0x33, /* 11001100 */
  603. 0x1e, /* 01111000 */
  604. 0x00, /* 00000000 */
  605. /*
  606. * 52 0x34 '4'
  607. */
  608. 0x38, /* 00011100 */
  609. 0x3c, /* 00111100 */
  610. 0x36, /* 01101100 */
  611. 0x33, /* 11001100 */
  612. 0x7f, /* 11111110 */
  613. 0x30, /* 00001100 */
  614. 0x78, /* 00011110 */
  615. 0x00, /* 00000000 */
  616. /*
  617. * 53 0x35 '5'
  618. */
  619. 0x3f, /* 11111100 */
  620. 0x03, /* 11000000 */
  621. 0x1f, /* 11111000 */
  622. 0x30, /* 00001100 */
  623. 0x30, /* 00001100 */
  624. 0x33, /* 11001100 */
  625. 0x1e, /* 01111000 */
  626. 0x00, /* 00000000 */
  627. /*
  628. * 54 0x36 '6'
  629. */
  630. 0x1c, /* 00111000 */
  631. 0x06, /* 01100000 */
  632. 0x03, /* 11000000 */
  633. 0x1f, /* 11111000 */
  634. 0x33, /* 11001100 */
  635. 0x33, /* 11001100 */
  636. 0x1e, /* 01111000 */
  637. 0x00, /* 00000000 */
  638. /*
  639. * 55 0x37 '7'
  640. */
  641. 0x3f, /* 11111100 */
  642. 0x33, /* 11001100 */
  643. 0x30, /* 00001100 */
  644. 0x18, /* 00011000 */
  645. 0x0c, /* 00110000 */
  646. 0x0c, /* 00110000 */
  647. 0x0c, /* 00110000 */
  648. 0x00, /* 00000000 */
  649. /*
  650. * 56 0x38 '8'
  651. */
  652. 0x1e, /* 01111000 */
  653. 0x33, /* 11001100 */
  654. 0x33, /* 11001100 */
  655. 0x1e, /* 01111000 */
  656. 0x33, /* 11001100 */
  657. 0x33, /* 11001100 */
  658. 0x1e, /* 01111000 */
  659. 0x00, /* 00000000 */
  660. /*
  661. * 57 0x39 '9'
  662. */
  663. 0x1e, /* 01111000 */
  664. 0x33, /* 11001100 */
  665. 0x33, /* 11001100 */
  666. 0x3e, /* 01111100 */
  667. 0x30, /* 00001100 */
  668. 0x18, /* 00011000 */
  669. 0x0e, /* 01110000 */
  670. 0x00, /* 00000000 */
  671. /*
  672. * 58 0x3a ':'
  673. */
  674. 0x00, /* 00000000 */
  675. 0x0c, /* 00110000 */
  676. 0x0c, /* 00110000 */
  677. 0x00, /* 00000000 */
  678. 0x00, /* 00000000 */
  679. 0x0c, /* 00110000 */
  680. 0x0c, /* 00110000 */
  681. 0x00, /* 00000000 */
  682. /*
  683. * 59 0x3b ';'
  684. */
  685. 0x00, /* 00000000 */
  686. 0x0c, /* 00110000 */
  687. 0x0c, /* 00110000 */
  688. 0x00, /* 00000000 */
  689. 0x00, /* 00000000 */
  690. 0x0c, /* 00110000 */
  691. 0x0c, /* 00110000 */
  692. 0x06, /* 01100000 */
  693. /*
  694. * 60 0x3c '<'
  695. */
  696. 0x18, /* 00011000 */
  697. 0x0c, /* 00110000 */
  698. 0x06, /* 01100000 */
  699. 0x03, /* 11000000 */
  700. 0x06, /* 01100000 */
  701. 0x0c, /* 00110000 */
  702. 0x18, /* 00011000 */
  703. 0x00, /* 00000000 */
  704. /*
  705. * 61 0x3d '='
  706. */
  707. 0x00, /* 00000000 */
  708. 0x00, /* 00000000 */
  709. 0x3f, /* 11111100 */
  710. 0x00, /* 00000000 */
  711. 0x00, /* 00000000 */
  712. 0x3f, /* 11111100 */
  713. 0x00, /* 00000000 */
  714. 0x00, /* 00000000 */
  715. /*
  716. * 62 0x3e '>'
  717. */
  718. 0x06, /* 01100000 */
  719. 0x0c, /* 00110000 */
  720. 0x18, /* 00011000 */
  721. 0x30, /* 00001100 */
  722. 0x18, /* 00011000 */
  723. 0x0c, /* 00110000 */
  724. 0x06, /* 01100000 */
  725. 0x00, /* 00000000 */
  726. /*
  727. * 63 0x3f '?'
  728. */
  729. 0x1e, /* 01111000 */
  730. 0x33, /* 11001100 */
  731. 0x30, /* 00001100 */
  732. 0x18, /* 00011000 */
  733. 0x0c, /* 00110000 */
  734. 0x00, /* 00000000 */
  735. 0x0c, /* 00110000 */
  736. 0x00, /* 00000000 */
  737. /*
  738. * 64 0x40 '@'
  739. */
  740. 0x3e, /* 01111100 */
  741. 0x63, /* 11000110 */
  742. 0x7b, /* 11011110 */
  743. 0x7b, /* 11011110 */
  744. 0x7b, /* 11011110 */
  745. 0x03, /* 11000000 */
  746. 0x1e, /* 01111000 */
  747. 0x00, /* 00000000 */
  748. /*
  749. * 65 0x41 'A'
  750. */
  751. 0x0c, /* 00110000 */
  752. 0x1e, /* 01111000 */
  753. 0x33, /* 11001100 */
  754. 0x33, /* 11001100 */
  755. 0x3f, /* 11111100 */
  756. 0x33, /* 11001100 */
  757. 0x33, /* 11001100 */
  758. 0x00, /* 00000000 */
  759. /*
  760. * 66 0x42 'B'
  761. */
  762. 0x3f, /* 11111100 */
  763. 0x66, /* 01100110 */
  764. 0x66, /* 01100110 */
  765. 0x3e, /* 01111100 */
  766. 0x66, /* 01100110 */
  767. 0x66, /* 01100110 */
  768. 0x3f, /* 11111100 */
  769. 0x00, /* 00000000 */
  770. /*
  771. * 67 0x43 'C'
  772. */
  773. 0x3c, /* 00111100 */
  774. 0x66, /* 01100110 */
  775. 0x03, /* 11000000 */
  776. 0x03, /* 11000000 */
  777. 0x03, /* 11000000 */
  778. 0x66, /* 01100110 */
  779. 0x3c, /* 00111100 */
  780. 0x00, /* 00000000 */
  781. /*
  782. * 68 0x44 'D'
  783. */
  784. 0x1f, /* 11111000 */
  785. 0x36, /* 01101100 */
  786. 0x66, /* 01100110 */
  787. 0x66, /* 01100110 */
  788. 0x66, /* 01100110 */
  789. 0x36, /* 01101100 */
  790. 0x1f, /* 11111000 */
  791. 0x00, /* 00000000 */
  792. /*
  793. * 69 0x45 'E'
  794. */
  795. 0x7f, /* 11111110 */
  796. 0x46, /* 01100010 */
  797. 0x16, /* 01101000 */
  798. 0x1e, /* 01111000 */
  799. 0x16, /* 01101000 */
  800. 0x46, /* 01100010 */
  801. 0x7f, /* 11111110 */
  802. 0x00, /* 00000000 */
  803. /*
  804. * 70 0x46 'F'
  805. */
  806. 0x7f, /* 11111110 */
  807. 0x46, /* 01100010 */
  808. 0x16, /* 01101000 */
  809. 0x1e, /* 01111000 */
  810. 0x16, /* 01101000 */
  811. 0x06, /* 01100000 */
  812. 0x0f, /* 11110000 */
  813. 0x00, /* 00000000 */
  814. /*
  815. * 71 0x47 'G'
  816. */
  817. 0x3c, /* 00111100 */
  818. 0x66, /* 01100110 */
  819. 0x03, /* 11000000 */
  820. 0x03, /* 11000000 */
  821. 0x73, /* 11001110 */
  822. 0x66, /* 01100110 */
  823. 0x7c, /* 00111110 */
  824. 0x00, /* 00000000 */
  825. /*
  826. * 72 0x48 'H'
  827. */
  828. 0x33, /* 11001100 */
  829. 0x33, /* 11001100 */
  830. 0x33, /* 11001100 */
  831. 0x3f, /* 11111100 */
  832. 0x33, /* 11001100 */
  833. 0x33, /* 11001100 */
  834. 0x33, /* 11001100 */
  835. 0x00, /* 00000000 */
  836. /*
  837. * 73 0x49 'I'
  838. */
  839. 0x1e, /* 01111000 */
  840. 0x0c, /* 00110000 */
  841. 0x0c, /* 00110000 */
  842. 0x0c, /* 00110000 */
  843. 0x0c, /* 00110000 */
  844. 0x0c, /* 00110000 */
  845. 0x1e, /* 01111000 */
  846. 0x00, /* 00000000 */
  847. /*
  848. * 74 0x4a 'J'
  849. */
  850. 0x78, /* 00011110 */
  851. 0x30, /* 00001100 */
  852. 0x30, /* 00001100 */
  853. 0x30, /* 00001100 */
  854. 0x33, /* 11001100 */
  855. 0x33, /* 11001100 */
  856. 0x1e, /* 01111000 */
  857. 0x00, /* 00000000 */
  858. /*
  859. * 75 0x4b 'K'
  860. */
  861. 0x67, /* 11100110 */
  862. 0x66, /* 01100110 */
  863. 0x36, /* 01101100 */
  864. 0x1e, /* 01111000 */
  865. 0x36, /* 01101100 */
  866. 0x66, /* 01100110 */
  867. 0x67, /* 11100110 */
  868. 0x00, /* 00000000 */
  869. /*
  870. * 76 0x4c 'L'
  871. */
  872. 0x0f, /* 11110000 */
  873. 0x06, /* 01100000 */
  874. 0x06, /* 01100000 */
  875. 0x06, /* 01100000 */
  876. 0x46, /* 01100010 */
  877. 0x66, /* 01100110 */
  878. 0x7f, /* 11111110 */
  879. 0x00, /* 00000000 */
  880. /*
  881. * 77 0x4d 'M'
  882. */
  883. 0x63, /* 11000110 */
  884. 0x77, /* 11101110 */
  885. 0x7f, /* 11111110 */
  886. 0x7f, /* 11111110 */
  887. 0x6b, /* 11010110 */
  888. 0x63, /* 11000110 */
  889. 0x63, /* 11000110 */
  890. 0x00, /* 00000000 */
  891. /*
  892. * 78 0x4e 'N'
  893. */
  894. 0x63, /* 11000110 */
  895. 0x67, /* 11100110 */
  896. 0x6f, /* 11110110 */
  897. 0x7b, /* 11011110 */
  898. 0x73, /* 11001110 */
  899. 0x63, /* 11000110 */
  900. 0x63, /* 11000110 */
  901. 0x00, /* 00000000 */
  902. /*
  903. * 79 0x4f 'O'
  904. */
  905. 0x1c, /* 00111000 */
  906. 0x36, /* 01101100 */
  907. 0x63, /* 11000110 */
  908. 0x63, /* 11000110 */
  909. 0x63, /* 11000110 */
  910. 0x36, /* 01101100 */
  911. 0x1c, /* 00111000 */
  912. 0x00, /* 00000000 */
  913. /*
  914. * 80 0x50 'P'
  915. */
  916. 0x3f, /* 11111100 */
  917. 0x66, /* 01100110 */
  918. 0x66, /* 01100110 */
  919. 0x3e, /* 01111100 */
  920. 0x06, /* 01100000 */
  921. 0x06, /* 01100000 */
  922. 0x0f, /* 11110000 */
  923. 0x00, /* 00000000 */
  924. /*
  925. * 81 0x51 'Q'
  926. */
  927. 0x1e, /* 01111000 */
  928. 0x33, /* 11001100 */
  929. 0x33, /* 11001100 */
  930. 0x33, /* 11001100 */
  931. 0x3b, /* 11011100 */
  932. 0x1e, /* 01111000 */
  933. 0x38, /* 00011100 */
  934. 0x00, /* 00000000 */
  935. /*
  936. * 82 0x52 'R'
  937. */
  938. 0x3f, /* 11111100 */
  939. 0x66, /* 01100110 */
  940. 0x66, /* 01100110 */
  941. 0x3e, /* 01111100 */
  942. 0x36, /* 01101100 */
  943. 0x66, /* 01100110 */
  944. 0x67, /* 11100110 */
  945. 0x00, /* 00000000 */
  946. /*
  947. * 83 0x53 'S'
  948. */
  949. 0x1e, /* 01111000 */
  950. 0x33, /* 11001100 */
  951. 0x07, /* 11100000 */
  952. 0x0e, /* 01110000 */
  953. 0x38, /* 00011100 */
  954. 0x33, /* 11001100 */
  955. 0x1e, /* 01111000 */
  956. 0x00, /* 00000000 */
  957. /*
  958. * 84 0x54 'T'
  959. */
  960. 0x3f, /* 11111100 */
  961. 0x2d, /* 10110100 */
  962. 0x0c, /* 00110000 */
  963. 0x0c, /* 00110000 */
  964. 0x0c, /* 00110000 */
  965. 0x0c, /* 00110000 */
  966. 0x1e, /* 01111000 */
  967. 0x00, /* 00000000 */
  968. /*
  969. * 85 0x55 'U'
  970. */
  971. 0x33, /* 11001100 */
  972. 0x33, /* 11001100 */
  973. 0x33, /* 11001100 */
  974. 0x33, /* 11001100 */
  975. 0x33, /* 11001100 */
  976. 0x33, /* 11001100 */
  977. 0x3f, /* 11111100 */
  978. 0x00, /* 00000000 */
  979. /*
  980. * 86 0x56 'V'
  981. */
  982. 0x33, /* 11001100 */
  983. 0x33, /* 11001100 */
  984. 0x33, /* 11001100 */
  985. 0x33, /* 11001100 */
  986. 0x33, /* 11001100 */
  987. 0x1e, /* 01111000 */
  988. 0x0c, /* 00110000 */
  989. 0x00, /* 00000000 */
  990. /*
  991. * 87 0x57 'W'
  992. */
  993. 0x63, /* 11000110 */
  994. 0x63, /* 11000110 */
  995. 0x63, /* 11000110 */
  996. 0x6b, /* 11010110 */
  997. 0x7f, /* 11111110 */
  998. 0x77, /* 11101110 */
  999. 0x63, /* 11000110 */
  1000. 0x00, /* 00000000 */
  1001. /*
  1002. * 88 0x58 'X'
  1003. */
  1004. 0x63, /* 11000110 */
  1005. 0x63, /* 11000110 */
  1006. 0x36, /* 01101100 */
  1007. 0x1c, /* 00111000 */
  1008. 0x1c, /* 00111000 */
  1009. 0x36, /* 01101100 */
  1010. 0x63, /* 11000110 */
  1011. 0x00, /* 00000000 */
  1012. /*
  1013. * 89 0x59 'Y'
  1014. */
  1015. 0x33, /* 11001100 */
  1016. 0x33, /* 11001100 */
  1017. 0x33, /* 11001100 */
  1018. 0x1e, /* 01111000 */
  1019. 0x0c, /* 00110000 */
  1020. 0x0c, /* 00110000 */
  1021. 0x1e, /* 01111000 */
  1022. 0x00, /* 00000000 */
  1023. /*
  1024. * 90 0x5a 'Z'
  1025. */
  1026. 0x7f, /* 11111110 */
  1027. 0x63, /* 11000110 */
  1028. 0x31, /* 10001100 */
  1029. 0x18, /* 00011000 */
  1030. 0x4c, /* 00110010 */
  1031. 0x66, /* 01100110 */
  1032. 0x7f, /* 11111110 */
  1033. 0x00, /* 00000000 */
  1034. /*
  1035. * 91 0x5b '['
  1036. */
  1037. 0x1e, /* 01111000 */
  1038. 0x06, /* 01100000 */
  1039. 0x06, /* 01100000 */
  1040. 0x06, /* 01100000 */
  1041. 0x06, /* 01100000 */
  1042. 0x06, /* 01100000 */
  1043. 0x1e, /* 01111000 */
  1044. 0x00, /* 00000000 */
  1045. /*
  1046. * 92 0x5c '\'
  1047. */
  1048. 0x03, /* 11000000 */
  1049. 0x06, /* 01100000 */
  1050. 0x0c, /* 00110000 */
  1051. 0x18, /* 00011000 */
  1052. 0x30, /* 00001100 */
  1053. 0x60, /* 00000110 */
  1054. 0x40, /* 00000010 */
  1055. 0x00, /* 00000000 */
  1056. /*
  1057. * 93 0x5d ']'
  1058. */
  1059. 0x1e, /* 01111000 */
  1060. 0x18, /* 00011000 */
  1061. 0x18, /* 00011000 */
  1062. 0x18, /* 00011000 */
  1063. 0x18, /* 00011000 */
  1064. 0x18, /* 00011000 */
  1065. 0x1e, /* 01111000 */
  1066. 0x00, /* 00000000 */
  1067. /*
  1068. * 94 0x5e '^'
  1069. */
  1070. 0x08, /* 00010000 */
  1071. 0x1c, /* 00111000 */
  1072. 0x36, /* 01101100 */
  1073. 0x63, /* 11000110 */
  1074. 0x00, /* 00000000 */
  1075. 0x00, /* 00000000 */
  1076. 0x00, /* 00000000 */
  1077. 0x00, /* 00000000 */
  1078. /*
  1079. * 95 0x5f '_'
  1080. */
  1081. 0x00, /* 00000000 */
  1082. 0x00, /* 00000000 */
  1083. 0x00, /* 00000000 */
  1084. 0x00, /* 00000000 */
  1085. 0x00, /* 00000000 */
  1086. 0x00, /* 00000000 */
  1087. 0x00, /* 00000000 */
  1088. 0xff, /* 11111111 */
  1089. /*
  1090. * 96 0x60 '`'
  1091. */
  1092. 0x0c, /* 00110000 */
  1093. 0x0c, /* 00110000 */
  1094. 0x18, /* 00011000 */
  1095. 0x00, /* 00000000 */
  1096. 0x00, /* 00000000 */
  1097. 0x00, /* 00000000 */
  1098. 0x00, /* 00000000 */
  1099. 0x00, /* 00000000 */
  1100. /*
  1101. * 97 0x61 'a'
  1102. */
  1103. 0x00, /* 00000000 */
  1104. 0x00, /* 00000000 */
  1105. 0x1e, /* 01111000 */
  1106. 0x30, /* 00001100 */
  1107. 0x3e, /* 01111100 */
  1108. 0x33, /* 11001100 */
  1109. 0x6e, /* 01110110 */
  1110. 0x00, /* 00000000 */
  1111. /*
  1112. * 98 0x62 'b'
  1113. */
  1114. 0x07, /* 11100000 */
  1115. 0x06, /* 01100000 */
  1116. 0x06, /* 01100000 */
  1117. 0x3e, /* 01111100 */
  1118. 0x66, /* 01100110 */
  1119. 0x66, /* 01100110 */
  1120. 0x3b, /* 11011100 */
  1121. 0x00, /* 00000000 */
  1122. /*
  1123. * 99 0x63 'c'
  1124. */
  1125. 0x00, /* 00000000 */
  1126. 0x00, /* 00000000 */
  1127. 0x1e, /* 01111000 */
  1128. 0x33, /* 11001100 */
  1129. 0x03, /* 11000000 */
  1130. 0x33, /* 11001100 */
  1131. 0x1e, /* 01111000 */
  1132. 0x00, /* 00000000 */
  1133. /*
  1134. * 100 0x64 'd'
  1135. */
  1136. 0x38, /* 00011100 */
  1137. 0x30, /* 00001100 */
  1138. 0x30, /* 00001100 */
  1139. 0x3e, /* 01111100 */
  1140. 0x33, /* 11001100 */
  1141. 0x33, /* 11001100 */
  1142. 0x6e, /* 01110110 */
  1143. 0x00, /* 00000000 */
  1144. /*
  1145. * 101 0x65 'e'
  1146. */
  1147. 0x00, /* 00000000 */
  1148. 0x00, /* 00000000 */
  1149. 0x1e, /* 01111000 */
  1150. 0x33, /* 11001100 */
  1151. 0x3f, /* 11111100 */
  1152. 0x03, /* 11000000 */
  1153. 0x1e, /* 01111000 */
  1154. 0x00, /* 00000000 */
  1155. /*
  1156. * 102 0x66 'f'
  1157. */
  1158. 0x1c, /* 00111000 */
  1159. 0x36, /* 01101100 */
  1160. 0x06, /* 01100000 */
  1161. 0x0f, /* 11110000 */
  1162. 0x06, /* 01100000 */
  1163. 0x06, /* 01100000 */
  1164. 0x0f, /* 11110000 */
  1165. 0x00, /* 00000000 */
  1166. /*
  1167. * 103 0x67 'g'
  1168. */
  1169. 0x00, /* 00000000 */
  1170. 0x00, /* 00000000 */
  1171. 0x6e, /* 01110110 */
  1172. 0x33, /* 11001100 */
  1173. 0x33, /* 11001100 */
  1174. 0x3e, /* 01111100 */
  1175. 0x30, /* 00001100 */
  1176. 0x1f, /* 11111000 */
  1177. /*
  1178. * 104 0x68 'h'
  1179. */
  1180. 0x07, /* 11100000 */
  1181. 0x06, /* 01100000 */
  1182. 0x36, /* 01101100 */
  1183. 0x6e, /* 01110110 */
  1184. 0x66, /* 01100110 */
  1185. 0x66, /* 01100110 */
  1186. 0x67, /* 11100110 */
  1187. 0x00, /* 00000000 */
  1188. /*
  1189. * 105 0x69 'i'
  1190. */
  1191. 0x0c, /* 00110000 */
  1192. 0x00, /* 00000000 */
  1193. 0x0e, /* 01110000 */
  1194. 0x0c, /* 00110000 */
  1195. 0x0c, /* 00110000 */
  1196. 0x0c, /* 00110000 */
  1197. 0x1e, /* 01111000 */
  1198. 0x00, /* 00000000 */
  1199. /*
  1200. * 106 0x6a 'j'
  1201. */
  1202. 0x30, /* 00001100 */
  1203. 0x00, /* 00000000 */
  1204. 0x30, /* 00001100 */
  1205. 0x30, /* 00001100 */
  1206. 0x30, /* 00001100 */
  1207. 0x33, /* 11001100 */
  1208. 0x33, /* 11001100 */
  1209. 0x1e, /* 01111000 */
  1210. /*
  1211. * 107 0x6b 'k'
  1212. */
  1213. 0x07, /* 11100000 */
  1214. 0x06, /* 01100000 */
  1215. 0x66, /* 01100110 */
  1216. 0x36, /* 01101100 */
  1217. 0x1e, /* 01111000 */
  1218. 0x36, /* 01101100 */
  1219. 0x67, /* 11100110 */
  1220. 0x00, /* 00000000 */
  1221. /*
  1222. * 108 0x6c 'l'
  1223. */
  1224. 0x0e, /* 01110000 */
  1225. 0x0c, /* 00110000 */
  1226. 0x0c, /* 00110000 */
  1227. 0x0c, /* 00110000 */
  1228. 0x0c, /* 00110000 */
  1229. 0x0c, /* 00110000 */
  1230. 0x1e, /* 01111000 */
  1231. 0x00, /* 00000000 */
  1232. /*
  1233. * 109 0x6d 'm'
  1234. */
  1235. 0x00, /* 00000000 */
  1236. 0x00, /* 00000000 */
  1237. 0x33, /* 11001100 */
  1238. 0x7f, /* 11111110 */
  1239. 0x7f, /* 11111110 */
  1240. 0x6b, /* 11010110 */
  1241. 0x63, /* 11000110 */
  1242. 0x00, /* 00000000 */
  1243. /*
  1244. * 110 0x6e 'n'
  1245. */
  1246. 0x00, /* 00000000 */
  1247. 0x00, /* 00000000 */
  1248. 0x1f, /* 11111000 */
  1249. 0x33, /* 11001100 */
  1250. 0x33, /* 11001100 */
  1251. 0x33, /* 11001100 */
  1252. 0x33, /* 11001100 */
  1253. 0x00, /* 00000000 */
  1254. /*
  1255. * 111 0x6f 'o'
  1256. */
  1257. 0x00, /* 00000000 */
  1258. 0x00, /* 00000000 */
  1259. 0x1e, /* 01111000 */
  1260. 0x33, /* 11001100 */
  1261. 0x33, /* 11001100 */
  1262. 0x33, /* 11001100 */
  1263. 0x1e, /* 01111000 */
  1264. 0x00, /* 00000000 */
  1265. /*
  1266. * 112 0x70 'p'
  1267. */
  1268. 0x00, /* 00000000 */
  1269. 0x00, /* 00000000 */
  1270. 0x3b, /* 11011100 */
  1271. 0x66, /* 01100110 */
  1272. 0x66, /* 01100110 */
  1273. 0x3e, /* 01111100 */
  1274. 0x06, /* 01100000 */
  1275. 0x0f, /* 11110000 */
  1276. /*
  1277. * 113 0x71 'q'
  1278. */
  1279. 0x00, /* 00000000 */
  1280. 0x00, /* 00000000 */
  1281. 0x6e, /* 01110110 */
  1282. 0x33, /* 11001100 */
  1283. 0x33, /* 11001100 */
  1284. 0x3e, /* 01111100 */
  1285. 0x30, /* 00001100 */
  1286. 0x78, /* 00011110 */
  1287. /*
  1288. * 114 0x72 'r'
  1289. */
  1290. 0x00, /* 00000000 */
  1291. 0x00, /* 00000000 */
  1292. 0x3b, /* 11011100 */
  1293. 0x6e, /* 01110110 */
  1294. 0x66, /* 01100110 */
  1295. 0x06, /* 01100000 */
  1296. 0x0f, /* 11110000 */
  1297. 0x00, /* 00000000 */
  1298. /*
  1299. * 115 0x73 's'
  1300. */
  1301. 0x00, /* 00000000 */
  1302. 0x00, /* 00000000 */
  1303. 0x3e, /* 01111100 */
  1304. 0x03, /* 11000000 */
  1305. 0x1e, /* 01111000 */
  1306. 0x30, /* 00001100 */
  1307. 0x1f, /* 11111000 */
  1308. 0x00, /* 00000000 */
  1309. /*
  1310. * 116 0x74 't'
  1311. */
  1312. 0x08, /* 00010000 */
  1313. 0x0c, /* 00110000 */
  1314. 0x3e, /* 01111100 */
  1315. 0x0c, /* 00110000 */
  1316. 0x0c, /* 00110000 */
  1317. 0x2c, /* 00110100 */
  1318. 0x18, /* 00011000 */
  1319. 0x00, /* 00000000 */
  1320. /*
  1321. * 117 0x75 'u'
  1322. */
  1323. 0x00, /* 00000000 */
  1324. 0x00, /* 00000000 */
  1325. 0x33, /* 11001100 */
  1326. 0x33, /* 11001100 */
  1327. 0x33, /* 11001100 */
  1328. 0x33, /* 11001100 */
  1329. 0x6e, /* 01110110 */
  1330. 0x00, /* 00000000 */
  1331. /*
  1332. * 118 0x76 'v'
  1333. */
  1334. 0x00, /* 00000000 */
  1335. 0x00, /* 00000000 */
  1336. 0x33, /* 11001100 */
  1337. 0x33, /* 11001100 */
  1338. 0x33, /* 11001100 */
  1339. 0x1e, /* 01111000 */
  1340. 0x0c, /* 00110000 */
  1341. 0x00, /* 00000000 */
  1342. /*
  1343. * 119 0x77 'w'
  1344. */
  1345. 0x00, /* 00000000 */
  1346. 0x00, /* 00000000 */
  1347. 0x63, /* 11000110 */
  1348. 0x6b, /* 11010110 */
  1349. 0x7f, /* 11111110 */
  1350. 0x7f, /* 11111110 */
  1351. 0x36, /* 01101100 */
  1352. 0x00, /* 00000000 */
  1353. /*
  1354. * 120 0x78 'x'
  1355. */
  1356. 0x00, /* 00000000 */
  1357. 0x00, /* 00000000 */
  1358. 0x63, /* 11000110 */
  1359. 0x36, /* 01101100 */
  1360. 0x1c, /* 00111000 */
  1361. 0x36, /* 01101100 */
  1362. 0x63, /* 11000110 */
  1363. 0x00, /* 00000000 */
  1364. /*
  1365. * 121 0x79 'y'
  1366. */
  1367. 0x00, /* 00000000 */
  1368. 0x00, /* 00000000 */
  1369. 0x33, /* 11001100 */
  1370. 0x33, /* 11001100 */
  1371. 0x33, /* 11001100 */
  1372. 0x3e, /* 01111100 */
  1373. 0x30, /* 00001100 */
  1374. 0x1f, /* 11111000 */
  1375. /*
  1376. * 122 0x7a 'z'
  1377. */
  1378. 0x00, /* 00000000 */
  1379. 0x00, /* 00000000 */
  1380. 0x3f, /* 11111100 */
  1381. 0x19, /* 10011000 */
  1382. 0x0c, /* 00110000 */
  1383. 0x26, /* 01100100 */
  1384. 0x3f, /* 11111100 */
  1385. 0x00, /* 00000000 */
  1386. /*
  1387. * 123 0x7b '{'
  1388. */
  1389. 0x38, /* 00011100 */
  1390. 0x0c, /* 00110000 */
  1391. 0x0c, /* 00110000 */
  1392. 0x07, /* 11100000 */
  1393. 0x0c, /* 00110000 */
  1394. 0x0c, /* 00110000 */
  1395. 0x38, /* 00011100 */
  1396. 0x00, /* 00000000 */
  1397. /*
  1398. * 124 0x7c '|'
  1399. */
  1400. 0x18, /* 00011000 */
  1401. 0x18, /* 00011000 */
  1402. 0x18, /* 00011000 */
  1403. 0x00, /* 00000000 */
  1404. 0x18, /* 00011000 */
  1405. 0x18, /* 00011000 */
  1406. 0x18, /* 00011000 */
  1407. 0x00, /* 00000000 */
  1408. /*
  1409. * 125 0x7d '}'
  1410. */
  1411. 0x07, /* 11100000 */
  1412. 0x0c, /* 00110000 */
  1413. 0x0c, /* 00110000 */
  1414. 0x38, /* 00011100 */
  1415. 0x0c, /* 00110000 */
  1416. 0x0c, /* 00110000 */
  1417. 0x07, /* 11100000 */
  1418. 0x00, /* 00000000 */
  1419. /*
  1420. * 126 0x7e '~'
  1421. */
  1422. 0x6e, /* 01110110 */
  1423. 0x3b, /* 11011100 */
  1424. 0x00, /* 00000000 */
  1425. 0x00, /* 00000000 */
  1426. 0x00, /* 00000000 */
  1427. 0x00, /* 00000000 */
  1428. 0x00, /* 00000000 */
  1429. 0x00, /* 00000000 */
  1430. /*
  1431. * 127 0x7f '^?'
  1432. */
  1433. 0x00, /* 00000000 */
  1434. 0x00, /* 00000000 */
  1435. 0x00, /* 00000000 */
  1436. 0x00, /* 00000000 */
  1437. 0x00, /* 00000000 */
  1438. 0x00, /* 00000000 */
  1439. 0x00, /* 00000000 */
  1440. 0x00, /* 00000000 */
  1441. /*
  1442. * 128 0x80 '€'
  1443. */
  1444. 0x00, /* 00000000 */
  1445. 0x00, /* 00000000 */
  1446. 0x00, /* 00000000 */
  1447. 0x00, /* 00000000 */
  1448. 0x00, /* 00000000 */
  1449. 0x00, /* 00000000 */
  1450. 0x00, /* 00000000 */
  1451. 0x00, /* 00000000 */
  1452. /*
  1453. * 129 0x81 ''
  1454. */
  1455. 0x00, /* 00000000 */
  1456. 0x00, /* 00000000 */
  1457. 0x00, /* 00000000 */
  1458. 0x00, /* 00000000 */
  1459. 0x00, /* 00000000 */
  1460. 0x00, /* 00000000 */
  1461. 0x00, /* 00000000 */
  1462. 0x00, /* 00000000 */
  1463. /*
  1464. * 130 0x82 '‚'
  1465. */
  1466. 0x00, /* 00000000 */
  1467. 0x00, /* 00000000 */
  1468. 0x00, /* 00000000 */
  1469. 0x00, /* 00000000 */
  1470. 0x00, /* 00000000 */
  1471. 0x00, /* 00000000 */
  1472. 0x00, /* 00000000 */
  1473. 0x00, /* 00000000 */
  1474. /*
  1475. * 131 0x83 'ƒ'
  1476. */
  1477. 0x00, /* 00000000 */
  1478. 0x00, /* 00000000 */
  1479. 0x00, /* 00000000 */
  1480. 0x00, /* 00000000 */
  1481. 0x00, /* 00000000 */
  1482. 0x00, /* 00000000 */
  1483. 0x00, /* 00000000 */
  1484. 0x00, /* 00000000 */
  1485. /*
  1486. * 132 0x84 '„'
  1487. */
  1488. 0x00, /* 00000000 */
  1489. 0x00, /* 00000000 */
  1490. 0x00, /* 00000000 */
  1491. 0x00, /* 00000000 */
  1492. 0x00, /* 00000000 */
  1493. 0x00, /* 00000000 */
  1494. 0x00, /* 00000000 */
  1495. 0x00, /* 00000000 */
  1496. /*
  1497. * 133 0x85 '
  1498. '
  1499. */
  1500. 0x00, /* 00000000 */
  1501. 0x00, /* 00000000 */
  1502. 0x00, /* 00000000 */
  1503. 0x00, /* 00000000 */
  1504. 0x00, /* 00000000 */
  1505. 0x00, /* 00000000 */
  1506. 0x00, /* 00000000 */
  1507. 0x00, /* 00000000 */
  1508. /*
  1509. * 134 0x86 '†'
  1510. */
  1511. 0x00, /* 00000000 */
  1512. 0x00, /* 00000000 */
  1513. 0x00, /* 00000000 */
  1514. 0x00, /* 00000000 */
  1515. 0x00, /* 00000000 */
  1516. 0x00, /* 00000000 */
  1517. 0x00, /* 00000000 */
  1518. 0x00, /* 00000000 */
  1519. /*
  1520. * 135 0x87 '‡'
  1521. */
  1522. 0x00, /* 00000000 */
  1523. 0x00, /* 00000000 */
  1524. 0x00, /* 00000000 */
  1525. 0x00, /* 00000000 */
  1526. 0x00, /* 00000000 */
  1527. 0x00, /* 00000000 */
  1528. 0x00, /* 00000000 */
  1529. 0x00, /* 00000000 */
  1530. /*
  1531. * 136 0x88 'ˆ'
  1532. */
  1533. 0x00, /* 00000000 */
  1534. 0x00, /* 00000000 */
  1535. 0x00, /* 00000000 */
  1536. 0x00, /* 00000000 */
  1537. 0x00, /* 00000000 */
  1538. 0x00, /* 00000000 */
  1539. 0x00, /* 00000000 */
  1540. 0x00, /* 00000000 */
  1541. /*
  1542. * 137 0x89 '‰'
  1543. */
  1544. 0x00, /* 00000000 */
  1545. 0x00, /* 00000000 */
  1546. 0x00, /* 00000000 */
  1547. 0x00, /* 00000000 */
  1548. 0x00, /* 00000000 */
  1549. 0x00, /* 00000000 */
  1550. 0x00, /* 00000000 */
  1551. 0x00, /* 00000000 */
  1552. /*
  1553. * 138 0x8a 'Š'
  1554. */
  1555. 0x00, /* 00000000 */
  1556. 0x00, /* 00000000 */
  1557. 0x00, /* 00000000 */
  1558. 0x00, /* 00000000 */
  1559. 0x00, /* 00000000 */
  1560. 0x00, /* 00000000 */
  1561. 0x00, /* 00000000 */
  1562. 0x00, /* 00000000 */
  1563. /*
  1564. * 139 0x8b '‹'
  1565. */
  1566. 0x00, /* 00000000 */
  1567. 0x00, /* 00000000 */
  1568. 0x00, /* 00000000 */
  1569. 0x00, /* 00000000 */
  1570. 0x00, /* 00000000 */
  1571. 0x00, /* 00000000 */
  1572. 0x00, /* 00000000 */
  1573. 0x00, /* 00000000 */
  1574. /*
  1575. * 140 0x8c 'Œ'
  1576. */
  1577. 0x00, /* 00000000 */
  1578. 0x00, /* 00000000 */
  1579. 0x00, /* 00000000 */
  1580. 0x00, /* 00000000 */
  1581. 0x00, /* 00000000 */
  1582. 0x00, /* 00000000 */
  1583. 0x00, /* 00000000 */
  1584. 0x00, /* 00000000 */
  1585. /*
  1586. * 141 0x8d ''
  1587. */
  1588. 0x00, /* 00000000 */
  1589. 0x00, /* 00000000 */
  1590. 0x00, /* 00000000 */
  1591. 0x00, /* 00000000 */
  1592. 0x00, /* 00000000 */
  1593. 0x00, /* 00000000 */
  1594. 0x00, /* 00000000 */
  1595. 0x00, /* 00000000 */
  1596. /*
  1597. * 142 0x8e 'Ž'
  1598. */
  1599. 0x00, /* 00000000 */
  1600. 0x00, /* 00000000 */
  1601. 0x00, /* 00000000 */
  1602. 0x00, /* 00000000 */
  1603. 0x00, /* 00000000 */
  1604. 0x00, /* 00000000 */
  1605. 0x00, /* 00000000 */
  1606. 0x00, /* 00000000 */
  1607. /*
  1608. * 143 0x8f ''
  1609. */
  1610. 0x00, /* 00000000 */
  1611. 0x00, /* 00000000 */
  1612. 0x00, /* 00000000 */
  1613. 0x00, /* 00000000 */
  1614. 0x00, /* 00000000 */
  1615. 0x00, /* 00000000 */
  1616. 0x00, /* 00000000 */
  1617. 0x00, /* 00000000 */
  1618. /*
  1619. * 144 0x90 ''
  1620. */
  1621. 0x00, /* 00000000 */
  1622. 0x00, /* 00000000 */
  1623. 0x00, /* 00000000 */
  1624. 0x00, /* 00000000 */
  1625. 0x00, /* 00000000 */
  1626. 0x00, /* 00000000 */
  1627. 0x00, /* 00000000 */
  1628. 0x00, /* 00000000 */
  1629. /*
  1630. * 145 0x91 '‘'
  1631. */
  1632. 0x00, /* 00000000 */
  1633. 0x00, /* 00000000 */
  1634. 0x00, /* 00000000 */
  1635. 0x00, /* 00000000 */
  1636. 0x00, /* 00000000 */
  1637. 0x00, /* 00000000 */
  1638. 0x00, /* 00000000 */
  1639. 0x00, /* 00000000 */
  1640. /*
  1641. * 146 0x92 '’'
  1642. */
  1643. 0x00, /* 00000000 */
  1644. 0x00, /* 00000000 */
  1645. 0x00, /* 00000000 */
  1646. 0x00, /* 00000000 */
  1647. 0x00, /* 00000000 */
  1648. 0x00, /* 00000000 */
  1649. 0x00, /* 00000000 */
  1650. 0x00, /* 00000000 */
  1651. /*
  1652. * 147 0x93 '“'
  1653. */
  1654. 0x00, /* 00000000 */
  1655. 0x00, /* 00000000 */
  1656. 0x00, /* 00000000 */
  1657. 0x00, /* 00000000 */
  1658. 0x00, /* 00000000 */
  1659. 0x00, /* 00000000 */
  1660. 0x00, /* 00000000 */
  1661. 0x00, /* 00000000 */
  1662. /*
  1663. * 148 0x94 '”'
  1664. */
  1665. 0x00, /* 00000000 */
  1666. 0x00, /* 00000000 */
  1667. 0x00, /* 00000000 */
  1668. 0x00, /* 00000000 */
  1669. 0x00, /* 00000000 */
  1670. 0x00, /* 00000000 */
  1671. 0x00, /* 00000000 */
  1672. 0x00, /* 00000000 */
  1673. /*
  1674. * 149 0x95 '•'
  1675. */
  1676. 0x00, /* 00000000 */
  1677. 0x00, /* 00000000 */
  1678. 0x00, /* 00000000 */
  1679. 0x00, /* 00000000 */
  1680. 0x00, /* 00000000 */
  1681. 0x00, /* 00000000 */
  1682. 0x00, /* 00000000 */
  1683. 0x00, /* 00000000 */
  1684. /*
  1685. * 150 0x96 '–'
  1686. */
  1687. 0x00, /* 00000000 */
  1688. 0x00, /* 00000000 */
  1689. 0x00, /* 00000000 */
  1690. 0x00, /* 00000000 */
  1691. 0x00, /* 00000000 */
  1692. 0x00, /* 00000000 */
  1693. 0x00, /* 00000000 */
  1694. 0x00, /* 00000000 */
  1695. /*
  1696. * 151 0x97 '—'
  1697. */
  1698. 0x00, /* 00000000 */
  1699. 0x00, /* 00000000 */
  1700. 0x00, /* 00000000 */
  1701. 0x00, /* 00000000 */
  1702. 0x00, /* 00000000 */
  1703. 0x00, /* 00000000 */
  1704. 0x00, /* 00000000 */
  1705. 0x00, /* 00000000 */
  1706. /*
  1707. * 152 0x98 '˜'
  1708. */
  1709. 0x00, /* 00000000 */
  1710. 0x00, /* 00000000 */
  1711. 0x00, /* 00000000 */
  1712. 0x00, /* 00000000 */
  1713. 0x00, /* 00000000 */
  1714. 0x00, /* 00000000 */
  1715. 0x00, /* 00000000 */
  1716. 0x00, /* 00000000 */
  1717. /*
  1718. * 153 0x99 '™'
  1719. */
  1720. 0x00, /* 00000000 */
  1721. 0x00, /* 00000000 */
  1722. 0x00, /* 00000000 */
  1723. 0x00, /* 00000000 */
  1724. 0x00, /* 00000000 */
  1725. 0x00, /* 00000000 */
  1726. 0x00, /* 00000000 */
  1727. 0x00, /* 00000000 */
  1728. /*
  1729. * 154 0x9a 'š'
  1730. */
  1731. 0x00, /* 00000000 */
  1732. 0x00, /* 00000000 */
  1733. 0x00, /* 00000000 */
  1734. 0x00, /* 00000000 */
  1735. 0x00, /* 00000000 */
  1736. 0x00, /* 00000000 */
  1737. 0x00, /* 00000000 */
  1738. 0x00, /* 00000000 */
  1739. /*
  1740. * 155 0x9b '›'
  1741. */
  1742. 0x00, /* 00000000 */
  1743. 0x00, /* 00000000 */
  1744. 0x00, /* 00000000 */
  1745. 0x00, /* 00000000 */
  1746. 0x00, /* 00000000 */
  1747. 0x00, /* 00000000 */
  1748. 0x00, /* 00000000 */
  1749. 0x00, /* 00000000 */
  1750. /*
  1751. * 156 0x9c 'œ'
  1752. */
  1753. 0x00, /* 00000000 */
  1754. 0x00, /* 00000000 */
  1755. 0x00, /* 00000000 */
  1756. 0x00, /* 00000000 */
  1757. 0x00, /* 00000000 */
  1758. 0x00, /* 00000000 */
  1759. 0x00, /* 00000000 */
  1760. 0x00, /* 00000000 */
  1761. /*
  1762. * 157 0x9d ''
  1763. */
  1764. 0x00, /* 00000000 */
  1765. 0x00, /* 00000000 */
  1766. 0x00, /* 00000000 */
  1767. 0x00, /* 00000000 */
  1768. 0x00, /* 00000000 */
  1769. 0x00, /* 00000000 */
  1770. 0x00, /* 00000000 */
  1771. 0x00, /* 00000000 */
  1772. /*
  1773. * 158 0x9e 'ž'
  1774. */
  1775. 0x00, /* 00000000 */
  1776. 0x00, /* 00000000 */
  1777. 0x00, /* 00000000 */
  1778. 0x00, /* 00000000 */
  1779. 0x00, /* 00000000 */
  1780. 0x00, /* 00000000 */
  1781. 0x00, /* 00000000 */
  1782. 0x00, /* 00000000 */
  1783. /*
  1784. * 159 0x9f 'Ÿ'
  1785. */
  1786. 0x00, /* 00000000 */
  1787. 0x00, /* 00000000 */
  1788. 0x00, /* 00000000 */
  1789. 0x00, /* 00000000 */
  1790. 0x00, /* 00000000 */
  1791. 0x00, /* 00000000 */
  1792. 0x00, /* 00000000 */
  1793. 0x00, /* 00000000 */
  1794. /*
  1795. * 160 0xa0 ' '
  1796. */
  1797. 0x00, /* 00000000 */
  1798. 0x00, /* 00000000 */
  1799. 0x00, /* 00000000 */
  1800. 0x00, /* 00000000 */
  1801. 0x00, /* 00000000 */
  1802. 0x00, /* 00000000 */
  1803. 0x00, /* 00000000 */
  1804. 0x00, /* 00000000 */
  1805. /*
  1806. * 161 0xa1 '¡'
  1807. */
  1808. 0x18, /* 00011000 */
  1809. 0x18, /* 00011000 */
  1810. 0x00, /* 00000000 */
  1811. 0x18, /* 00011000 */
  1812. 0x18, /* 00011000 */
  1813. 0x18, /* 00011000 */
  1814. 0x18, /* 00011000 */
  1815. 0x00, /* 00000000 */
  1816. /*
  1817. * 162 0xa2 '¢'
  1818. */
  1819. 0x18, /* 00011000 */
  1820. 0x18, /* 00011000 */
  1821. 0x7e, /* 01111110 */
  1822. 0x03, /* 11000000 */
  1823. 0x03, /* 11000000 */
  1824. 0x7e, /* 01111110 */
  1825. 0x18, /* 00011000 */
  1826. 0x18, /* 00011000 */
  1827. /*
  1828. * 163 0xa3 '£'
  1829. */
  1830. 0x1c, /* 00111000 */
  1831. 0x36, /* 01101100 */
  1832. 0x26, /* 01100100 */
  1833. 0x0f, /* 11110000 */
  1834. 0x06, /* 01100000 */
  1835. 0x67, /* 11100110 */
  1836. 0x3f, /* 11111100 */
  1837. 0x00, /* 00000000 */
  1838. /*
  1839. * 164 0xa4 '¤'
  1840. */
  1841. 0x00, /* 00000000 */
  1842. 0x00, /* 00000000 */
  1843. 0x63, /* 11000110 */
  1844. 0x3e, /* 01111100 */
  1845. 0x36, /* 01101100 */
  1846. 0x3e, /* 01111100 */
  1847. 0x63, /* 11000110 */
  1848. 0x00, /* 00000000 */
  1849. /*
  1850. * 165 0xa5 '¥'
  1851. */
  1852. 0x33, /* 11001100 */
  1853. 0x33, /* 11001100 */
  1854. 0x1e, /* 01111000 */
  1855. 0x3f, /* 11111100 */
  1856. 0x0c, /* 00110000 */
  1857. 0x3f, /* 11111100 */
  1858. 0x0c, /* 00110000 */
  1859. 0x0c, /* 00110000 */
  1860. /*
  1861. * 166 0xa6 '¦'
  1862. */
  1863. 0x18, /* 00011000 */
  1864. 0x18, /* 00011000 */
  1865. 0x18, /* 00011000 */
  1866. 0x00, /* 00000000 */
  1867. 0x18, /* 00011000 */
  1868. 0x18, /* 00011000 */
  1869. 0x18, /* 00011000 */
  1870. 0x00, /* 00000000 */
  1871. /*
  1872. * 167 0xa7 '§'
  1873. */
  1874. 0x7c, /* 00111110 */
  1875. 0xc6, /* 01100011 */
  1876. 0x1c, /* 00111000 */
  1877. 0x36, /* 01101100 */
  1878. 0x36, /* 01101100 */
  1879. 0x1c, /* 00111000 */
  1880. 0x33, /* 11001100 */
  1881. 0x1e, /* 01111000 */
  1882. /*
  1883. * 168 0xa8 '¨'
  1884. */
  1885. 0x33, /* 11001100 */
  1886. 0x00, /* 00000000 */
  1887. 0x00, /* 00000000 */
  1888. 0x00, /* 00000000 */
  1889. 0x00, /* 00000000 */
  1890. 0x00, /* 00000000 */
  1891. 0x00, /* 00000000 */
  1892. 0x00, /* 00000000 */
  1893. /*
  1894. * 169 0xa9 '©'
  1895. */
  1896. 0x3c, /* 00111100 */
  1897. 0x42, /* 01000010 */
  1898. 0x99, /* 10011001 */
  1899. 0x85, /* 10100001 */
  1900. 0x85, /* 10100001 */
  1901. 0x99, /* 10011001 */
  1902. 0x42, /* 01000010 */
  1903. 0x3c, /* 00111100 */
  1904. /*
  1905. * 170 0xaa 'ª'
  1906. */
  1907. 0x3c, /* 00111100 */
  1908. 0x36, /* 01101100 */
  1909. 0x36, /* 01101100 */
  1910. 0x7c, /* 00111110 */
  1911. 0x00, /* 00000000 */
  1912. 0x00, /* 00000000 */
  1913. 0x00, /* 00000000 */
  1914. 0x00, /* 00000000 */
  1915. /*
  1916. * 171 0xab '«'
  1917. */
  1918. 0x00, /* 00000000 */
  1919. 0xcc, /* 00110011 */
  1920. 0x66, /* 01100110 */
  1921. 0x33, /* 11001100 */
  1922. 0x66, /* 01100110 */
  1923. 0xcc, /* 00110011 */
  1924. 0x00, /* 00000000 */
  1925. 0x00, /* 00000000 */
  1926. /*
  1927. * 172 0xac '¬'
  1928. */
  1929. 0x00, /* 00000000 */
  1930. 0x00, /* 00000000 */
  1931. 0x00, /* 00000000 */
  1932. 0x3f, /* 11111100 */
  1933. 0x30, /* 00001100 */
  1934. 0x30, /* 00001100 */
  1935. 0x00, /* 00000000 */
  1936. 0x00, /* 00000000 */
  1937. /*
  1938. * 173 0xad '­'
  1939. */
  1940. 0x00, /* 00000000 */
  1941. 0x00, /* 00000000 */
  1942. 0x00, /* 00000000 */
  1943. 0x00, /* 00000000 */
  1944. 0x00, /* 00000000 */
  1945. 0x00, /* 00000000 */
  1946. 0x00, /* 00000000 */
  1947. 0x00, /* 00000000 */
  1948. /*
  1949. * 174 0xae '®'
  1950. */
  1951. 0x3c, /* 00111100 */
  1952. 0x42, /* 01000010 */
  1953. 0x9d, /* 10111001 */
  1954. 0xa5, /* 10100101 */
  1955. 0x9d, /* 10111001 */
  1956. 0xa5, /* 10100101 */
  1957. 0x42, /* 01000010 */
  1958. 0x3c, /* 00111100 */
  1959. /*
  1960. * 175 0xaf '¯'
  1961. */
  1962. 0x7e, /* 01111110 */
  1963. 0x00, /* 00000000 */
  1964. 0x00, /* 00000000 */
  1965. 0x00, /* 00000000 */
  1966. 0x00, /* 00000000 */
  1967. 0x00, /* 00000000 */
  1968. 0x00, /* 00000000 */
  1969. 0x00, /* 00000000 */
  1970. /*
  1971. * 176 0xb0 '°'
  1972. */
  1973. 0x1c, /* 00111000 */
  1974. 0x36, /* 01101100 */
  1975. 0x36, /* 01101100 */
  1976. 0x1c, /* 00111000 */
  1977. 0x00, /* 00000000 */
  1978. 0x00, /* 00000000 */
  1979. 0x00, /* 00000000 */
  1980. 0x00, /* 00000000 */
  1981. /*
  1982. * 177 0xb1 '±'
  1983. */
  1984. 0x18, /* 00011000 */
  1985. 0x18, /* 00011000 */
  1986. 0x7e, /* 01111110 */
  1987. 0x18, /* 00011000 */
  1988. 0x18, /* 00011000 */
  1989. 0x00, /* 00000000 */
  1990. 0x7e, /* 01111110 */
  1991. 0x00, /* 00000000 */
  1992. /*
  1993. * 178 0xb2 '²'
  1994. */
  1995. 0x1c, /* 00111000 */
  1996. 0x30, /* 00001100 */
  1997. 0x18, /* 00011000 */
  1998. 0x0c, /* 00110000 */
  1999. 0x3c, /* 00111100 */
  2000. 0x00, /* 00000000 */
  2001. 0x00, /* 00000000 */
  2002. 0x00, /* 00000000 */
  2003. /*
  2004. * 179 0xb3 '³'
  2005. */
  2006. 0x1c, /* 00111000 */
  2007. 0x30, /* 00001100 */
  2008. 0x18, /* 00011000 */
  2009. 0x30, /* 00001100 */
  2010. 0x1c, /* 00111000 */
  2011. 0x00, /* 00000000 */
  2012. 0x00, /* 00000000 */
  2013. 0x00, /* 00000000 */
  2014. /*
  2015. * 180 0xb4 '´'
  2016. */
  2017. 0x18, /* 00011000 */
  2018. 0x0c, /* 00110000 */
  2019. 0x00, /* 00000000 */
  2020. 0x00, /* 00000000 */
  2021. 0x00, /* 00000000 */
  2022. 0x00, /* 00000000 */
  2023. 0x00, /* 00000000 */
  2024. 0x00, /* 00000000 */
  2025. /*
  2026. * 181 0xb5 'µ'
  2027. */
  2028. 0x00, /* 00000000 */
  2029. 0x00, /* 00000000 */
  2030. 0x66, /* 01100110 */
  2031. 0x66, /* 01100110 */
  2032. 0x66, /* 01100110 */
  2033. 0x3e, /* 01111100 */
  2034. 0x06, /* 01100000 */
  2035. 0x03, /* 11000000 */
  2036. /*
  2037. * 182 0xb6 '¶'
  2038. */
  2039. 0xfe, /* 01111111 */
  2040. 0xdb, /* 11011011 */
  2041. 0xdb, /* 11011011 */
  2042. 0xde, /* 01111011 */
  2043. 0xd8, /* 00011011 */
  2044. 0xd8, /* 00011011 */
  2045. 0xd8, /* 00011011 */
  2046. 0x00, /* 00000000 */
  2047. /*
  2048. * 183 0xb7 '·'
  2049. */
  2050. 0x00, /* 00000000 */
  2051. 0x00, /* 00000000 */
  2052. 0x00, /* 00000000 */
  2053. 0x18, /* 00011000 */
  2054. 0x18, /* 00011000 */
  2055. 0x00, /* 00000000 */
  2056. 0x00, /* 00000000 */
  2057. 0x00, /* 00000000 */
  2058. /*
  2059. * 184 0xb8 '¸'
  2060. */
  2061. 0x00, /* 00000000 */
  2062. 0x00, /* 00000000 */
  2063. 0x00, /* 00000000 */
  2064. 0x00, /* 00000000 */
  2065. 0x00, /* 00000000 */
  2066. 0x18, /* 00011000 */
  2067. 0x30, /* 00001100 */
  2068. 0x1e, /* 01111000 */
  2069. /*
  2070. * 185 0xb9 '¹'
  2071. */
  2072. 0x08, /* 00010000 */
  2073. 0x0c, /* 00110000 */
  2074. 0x08, /* 00010000 */
  2075. 0x1c, /* 00111000 */
  2076. 0x00, /* 00000000 */
  2077. 0x00, /* 00000000 */
  2078. 0x00, /* 00000000 */
  2079. 0x00, /* 00000000 */
  2080. /*
  2081. * 186 0xba 'º'
  2082. */
  2083. 0x1c, /* 00111000 */
  2084. 0x36, /* 01101100 */
  2085. 0x36, /* 01101100 */
  2086. 0x1c, /* 00111000 */
  2087. 0x00, /* 00000000 */
  2088. 0x00, /* 00000000 */
  2089. 0x00, /* 00000000 */
  2090. 0x00, /* 00000000 */
  2091. /*
  2092. * 187 0xbb '»'
  2093. */
  2094. 0x00, /* 00000000 */
  2095. 0x33, /* 11001100 */
  2096. 0x66, /* 01100110 */
  2097. 0xcc, /* 00110011 */
  2098. 0x66, /* 01100110 */
  2099. 0x33, /* 11001100 */
  2100. 0x00, /* 00000000 */
  2101. 0x00, /* 00000000 */
  2102. /*
  2103. * 188 0xbc '¼'
  2104. */
  2105. 0xc3, /* 11000011 */
  2106. 0x63, /* 11000110 */
  2107. 0x33, /* 11001100 */
  2108. 0xbd, /* 10111101 */
  2109. 0xec, /* 00110111 */
  2110. 0xf6, /* 01101111 */
  2111. 0xf3, /* 11001111 */
  2112. 0x03, /* 11000000 */
  2113. /*
  2114. * 189 0xbd '½'
  2115. */
  2116. 0xc3, /* 11000011 */
  2117. 0x63, /* 11000110 */
  2118. 0x33, /* 11001100 */
  2119. 0x7b, /* 11011110 */
  2120. 0xcc, /* 00110011 */
  2121. 0x66, /* 01100110 */
  2122. 0x33, /* 11001100 */
  2123. 0xf0, /* 00001111 */
  2124. /*
  2125. * 190 0xbe '¾'
  2126. */
  2127. 0x03, /* 11000000 */
  2128. 0xc4, /* 00100011 */
  2129. 0x63, /* 11000110 */
  2130. 0xb4, /* 00101101 */
  2131. 0xdb, /* 11011011 */
  2132. 0xac, /* 00110101 */
  2133. 0xe6, /* 01100111 */
  2134. 0x80, /* 00000001 */
  2135. /*
  2136. * 191 0xbf '¿'
  2137. */
  2138. 0x0c, /* 00110000 */
  2139. 0x00, /* 00000000 */
  2140. 0x0c, /* 00110000 */
  2141. 0x06, /* 01100000 */
  2142. 0x03, /* 11000000 */
  2143. 0x33, /* 11001100 */
  2144. 0x1e, /* 01111000 */
  2145. 0x00, /* 00000000 */
  2146. /*
  2147. * 192 0xc0 'À'
  2148. */
  2149. 0x07, /* 11100000 */
  2150. 0x00, /* 00000000 */
  2151. 0x1c, /* 00111000 */
  2152. 0x36, /* 01101100 */
  2153. 0x63, /* 11000110 */
  2154. 0x7f, /* 11111110 */
  2155. 0x63, /* 11000110 */
  2156. 0x00, /* 00000000 */
  2157. /*
  2158. * 193 0xc1 'Á'
  2159. */
  2160. 0x70, /* 00001110 */
  2161. 0x00, /* 00000000 */
  2162. 0x1c, /* 00111000 */
  2163. 0x36, /* 01101100 */
  2164. 0x63, /* 11000110 */
  2165. 0x7f, /* 11111110 */
  2166. 0x63, /* 11000110 */
  2167. 0x00, /* 00000000 */
  2168. /*
  2169. * 194 0xc2 'Â'
  2170. */
  2171. 0x1c, /* 00111000 */
  2172. 0x36, /* 01101100 */
  2173. 0x00, /* 00000000 */
  2174. 0x3e, /* 01111100 */
  2175. 0x63, /* 11000110 */
  2176. 0x7f, /* 11111110 */
  2177. 0x63, /* 11000110 */
  2178. 0x00, /* 00000000 */
  2179. /*
  2180. * 195 0xc3 'Ã'
  2181. */
  2182. 0x6e, /* 01110110 */
  2183. 0x3b, /* 11011100 */
  2184. 0x00, /* 00000000 */
  2185. 0x3e, /* 01111100 */
  2186. 0x63, /* 11000110 */
  2187. 0x7f, /* 11111110 */
  2188. 0x63, /* 11000110 */
  2189. 0x00, /* 00000000 */
  2190. /*
  2191. * 196 0xc4 'Ä'
  2192. */
  2193. 0x63, /* 11000110 */
  2194. 0x1c, /* 00111000 */
  2195. 0x36, /* 01101100 */
  2196. 0x63, /* 11000110 */
  2197. 0x7f, /* 11111110 */
  2198. 0x63, /* 11000110 */
  2199. 0x63, /* 11000110 */
  2200. 0x00, /* 00000000 */
  2201. /*
  2202. * 197 0xc5 'Å'
  2203. */
  2204. 0x0c, /* 00110000 */
  2205. 0x0c, /* 00110000 */
  2206. 0x00, /* 00000000 */
  2207. 0x1e, /* 01111000 */
  2208. 0x33, /* 11001100 */
  2209. 0x3f, /* 11111100 */
  2210. 0x33, /* 11001100 */
  2211. 0x00, /* 00000000 */
  2212. /*
  2213. * 198 0xc6 'Æ'
  2214. */
  2215. 0x7c, /* 00111110 */
  2216. 0x36, /* 01101100 */
  2217. 0x33, /* 11001100 */
  2218. 0x7f, /* 11111110 */
  2219. 0x33, /* 11001100 */
  2220. 0x33, /* 11001100 */
  2221. 0x73, /* 11001110 */
  2222. 0x00, /* 00000000 */
  2223. /*
  2224. * 199 0xc7 'Ç'
  2225. */
  2226. 0x1e, /* 01111000 */
  2227. 0x33, /* 11001100 */
  2228. 0x03, /* 11000000 */
  2229. 0x33, /* 11001100 */
  2230. 0x1e, /* 01111000 */
  2231. 0x18, /* 00011000 */
  2232. 0x30, /* 00001100 */
  2233. 0x1e, /* 01111000 */
  2234. /*
  2235. * 200 0xc8 'È'
  2236. */
  2237. 0x07, /* 11100000 */
  2238. 0x00, /* 00000000 */
  2239. 0x3f, /* 11111100 */
  2240. 0x06, /* 01100000 */
  2241. 0x1e, /* 01111000 */
  2242. 0x06, /* 01100000 */
  2243. 0x3f, /* 11111100 */
  2244. 0x00, /* 00000000 */
  2245. /*
  2246. * 201 0xc9 'É'
  2247. */
  2248. 0x38, /* 00011100 */
  2249. 0x00, /* 00000000 */
  2250. 0x3f, /* 11111100 */
  2251. 0x06, /* 01100000 */
  2252. 0x1e, /* 01111000 */
  2253. 0x06, /* 01100000 */
  2254. 0x3f, /* 11111100 */
  2255. 0x00, /* 00000000 */
  2256. /*
  2257. * 202 0xca 'Ê'
  2258. */
  2259. 0x0c, /* 00110000 */
  2260. 0x12, /* 01001000 */
  2261. 0x3f, /* 11111100 */
  2262. 0x06, /* 01100000 */
  2263. 0x1e, /* 01111000 */
  2264. 0x06, /* 01100000 */
  2265. 0x3f, /* 11111100 */
  2266. 0x00, /* 00000000 */
  2267. /*
  2268. * 203 0xcb 'Ë'
  2269. */
  2270. 0x36, /* 01101100 */
  2271. 0x00, /* 00000000 */
  2272. 0x3f, /* 11111100 */
  2273. 0x06, /* 01100000 */
  2274. 0x1e, /* 01111000 */
  2275. 0x06, /* 01100000 */
  2276. 0x3f, /* 11111100 */
  2277. 0x00, /* 00000000 */
  2278. /*
  2279. * 204 0xcc 'Ì'
  2280. */
  2281. 0x07, /* 11100000 */
  2282. 0x00, /* 00000000 */
  2283. 0x1e, /* 01111000 */
  2284. 0x0c, /* 00110000 */
  2285. 0x0c, /* 00110000 */
  2286. 0x0c, /* 00110000 */
  2287. 0x1e, /* 01111000 */
  2288. 0x00, /* 00000000 */
  2289. /*
  2290. * 205 0xcd 'Í'
  2291. */
  2292. 0x38, /* 00011100 */
  2293. 0x00, /* 00000000 */
  2294. 0x1e, /* 01111000 */
  2295. 0x0c, /* 00110000 */
  2296. 0x0c, /* 00110000 */
  2297. 0x0c, /* 00110000 */
  2298. 0x1e, /* 01111000 */
  2299. 0x00, /* 00000000 */
  2300. /*
  2301. * 206 0xce 'Î'
  2302. */
  2303. 0x0c, /* 00110000 */
  2304. 0x12, /* 01001000 */
  2305. 0x00, /* 00000000 */
  2306. 0x1e, /* 01111000 */
  2307. 0x0c, /* 00110000 */
  2308. 0x0c, /* 00110000 */
  2309. 0x1e, /* 01111000 */
  2310. 0x00, /* 00000000 */
  2311. /*
  2312. * 207 0xcf 'Ï'
  2313. */
  2314. 0x33, /* 11001100 */
  2315. 0x00, /* 00000000 */
  2316. 0x1e, /* 01111000 */
  2317. 0x0c, /* 00110000 */
  2318. 0x0c, /* 00110000 */
  2319. 0x0c, /* 00110000 */
  2320. 0x1e, /* 01111000 */
  2321. 0x00, /* 00000000 */
  2322. /*
  2323. * 208 0xd0 'Ð'
  2324. */
  2325. 0x3f, /* 11111100 */
  2326. 0x66, /* 01100110 */
  2327. 0x6f, /* 11110110 */
  2328. 0x6f, /* 11110110 */
  2329. 0x66, /* 01100110 */
  2330. 0x66, /* 01100110 */
  2331. 0x3f, /* 11111100 */
  2332. 0x00, /* 00000000 */
  2333. /*
  2334. * 209 0xd1 'Ñ'
  2335. */
  2336. 0x3f, /* 11111100 */
  2337. 0x00, /* 00000000 */
  2338. 0x33, /* 11001100 */
  2339. 0x37, /* 11101100 */
  2340. 0x3f, /* 11111100 */
  2341. 0x3b, /* 11011100 */
  2342. 0x33, /* 11001100 */
  2343. 0x00, /* 00000000 */
  2344. /*
  2345. * 210 0xd2 'Ò'
  2346. */
  2347. 0x0e, /* 01110000 */
  2348. 0x00, /* 00000000 */
  2349. 0x18, /* 00011000 */
  2350. 0x3c, /* 00111100 */
  2351. 0x66, /* 01100110 */
  2352. 0x3c, /* 00111100 */
  2353. 0x18, /* 00011000 */
  2354. 0x00, /* 00000000 */
  2355. /*
  2356. * 211 0xd3 'Ó'
  2357. */
  2358. 0x70, /* 00001110 */
  2359. 0x00, /* 00000000 */
  2360. 0x18, /* 00011000 */
  2361. 0x3c, /* 00111100 */
  2362. 0x66, /* 01100110 */
  2363. 0x3c, /* 00111100 */
  2364. 0x18, /* 00011000 */
  2365. 0x00, /* 00000000 */
  2366. /*
  2367. * 212 0xd4 'Ô'
  2368. */
  2369. 0x3c, /* 00111100 */
  2370. 0x66, /* 01100110 */
  2371. 0x18, /* 00011000 */
  2372. 0x3c, /* 00111100 */
  2373. 0x66, /* 01100110 */
  2374. 0x3c, /* 00111100 */
  2375. 0x18, /* 00011000 */
  2376. 0x00, /* 00000000 */
  2377. /*
  2378. * 213 0xd5 'Õ'
  2379. */
  2380. 0x6e, /* 01110110 */
  2381. 0x3b, /* 11011100 */
  2382. 0x00, /* 00000000 */
  2383. 0x3e, /* 01111100 */
  2384. 0x63, /* 11000110 */
  2385. 0x63, /* 11000110 */
  2386. 0x3e, /* 01111100 */
  2387. 0x00, /* 00000000 */
  2388. /*
  2389. * 214 0xd6 'Ö'
  2390. */
  2391. 0xc3, /* 11000011 */
  2392. 0x18, /* 00011000 */
  2393. 0x3c, /* 00111100 */
  2394. 0x66, /* 01100110 */
  2395. 0x66, /* 01100110 */
  2396. 0x3c, /* 00111100 */
  2397. 0x18, /* 00011000 */
  2398. 0x00, /* 00000000 */
  2399. /*
  2400. * 215 0xd7 '×'
  2401. */
  2402. 0x00, /* 00000000 */
  2403. 0x36, /* 01101100 */
  2404. 0x1c, /* 00111000 */
  2405. 0x08, /* 00010000 */
  2406. 0x1c, /* 00111000 */
  2407. 0x36, /* 01101100 */
  2408. 0x00, /* 00000000 */
  2409. 0x00, /* 00000000 */
  2410. /*
  2411. * 216 0xd8 'Ø'
  2412. */
  2413. 0x5c, /* 00111010 */
  2414. 0x36, /* 01101100 */
  2415. 0x73, /* 11001110 */
  2416. 0x7b, /* 11011110 */
  2417. 0x6f, /* 11110110 */
  2418. 0x36, /* 01101100 */
  2419. 0x1d, /* 10111000 */
  2420. 0x00, /* 00000000 */
  2421. /*
  2422. * 217 0xd9 'Ù'
  2423. */
  2424. 0x0e, /* 01110000 */
  2425. 0x00, /* 00000000 */
  2426. 0x66, /* 01100110 */
  2427. 0x66, /* 01100110 */
  2428. 0x66, /* 01100110 */
  2429. 0x66, /* 01100110 */
  2430. 0x3c, /* 00111100 */
  2431. 0x00, /* 00000000 */
  2432. /*
  2433. * 218 0xda 'Ú'
  2434. */
  2435. 0x70, /* 00001110 */
  2436. 0x00, /* 00000000 */
  2437. 0x66, /* 01100110 */
  2438. 0x66, /* 01100110 */
  2439. 0x66, /* 01100110 */
  2440. 0x66, /* 01100110 */
  2441. 0x3c, /* 00111100 */
  2442. 0x00, /* 00000000 */
  2443. /*
  2444. * 219 0xdb 'Û'
  2445. */
  2446. 0x3c, /* 00111100 */
  2447. 0x66, /* 01100110 */
  2448. 0x00, /* 00000000 */
  2449. 0x66, /* 01100110 */
  2450. 0x66, /* 01100110 */
  2451. 0x66, /* 01100110 */
  2452. 0x3c, /* 00111100 */
  2453. 0x00, /* 00000000 */
  2454. /*
  2455. * 220 0xdc 'Ü'
  2456. */
  2457. 0x33, /* 11001100 */
  2458. 0x00, /* 00000000 */
  2459. 0x33, /* 11001100 */
  2460. 0x33, /* 11001100 */
  2461. 0x33, /* 11001100 */
  2462. 0x33, /* 11001100 */
  2463. 0x1e, /* 01111000 */
  2464. 0x00, /* 00000000 */
  2465. /*
  2466. * 221 0xdd 'Ý'
  2467. */
  2468. 0x70, /* 00001110 */
  2469. 0x00, /* 00000000 */
  2470. 0x66, /* 01100110 */
  2471. 0x66, /* 01100110 */
  2472. 0x3c, /* 00111100 */
  2473. 0x18, /* 00011000 */
  2474. 0x18, /* 00011000 */
  2475. 0x00, /* 00000000 */
  2476. /*
  2477. * 222 0xde 'Þ'
  2478. */
  2479. 0x0f, /* 11110000 */
  2480. 0x06, /* 01100000 */
  2481. 0x3e, /* 01111100 */
  2482. 0x66, /* 01100110 */
  2483. 0x66, /* 01100110 */
  2484. 0x3e, /* 01111100 */
  2485. 0x06, /* 01100000 */
  2486. 0x0f, /* 11110000 */
  2487. /*
  2488. * 223 0xdf 'ß'
  2489. */
  2490. 0x00, /* 00000000 */
  2491. 0x1e, /* 01111000 */
  2492. 0x33, /* 11001100 */
  2493. 0x1f, /* 11111000 */
  2494. 0x33, /* 11001100 */
  2495. 0x1f, /* 11111000 */
  2496. 0x03, /* 11000000 */
  2497. 0x03, /* 11000000 */
  2498. /*
  2499. * 224 0xe0 'à'
  2500. */
  2501. 0x07, /* 11100000 */
  2502. 0x00, /* 00000000 */
  2503. 0x1e, /* 01111000 */
  2504. 0x30, /* 00001100 */
  2505. 0x3e, /* 01111100 */
  2506. 0x33, /* 11001100 */
  2507. 0x7e, /* 01111110 */
  2508. 0x00, /* 00000000 */
  2509. /*
  2510. * 225 0xe1 'á'
  2511. */
  2512. 0x38, /* 00011100 */
  2513. 0x00, /* 00000000 */
  2514. 0x1e, /* 01111000 */
  2515. 0x30, /* 00001100 */
  2516. 0x3e, /* 01111100 */
  2517. 0x33, /* 11001100 */
  2518. 0x7e, /* 01111110 */
  2519. 0x00, /* 00000000 */
  2520. /*
  2521. * 226 0xe2 'â'
  2522. */
  2523. 0x7e, /* 01111110 */
  2524. 0xc3, /* 11000011 */
  2525. 0x3c, /* 00111100 */
  2526. 0x60, /* 00000110 */
  2527. 0x7c, /* 00111110 */
  2528. 0x66, /* 01100110 */
  2529. 0xfc, /* 00111111 */
  2530. 0x00, /* 00000000 */
  2531. /*
  2532. * 227 0xe3 'ã'
  2533. */
  2534. 0x6e, /* 01110110 */
  2535. 0x3b, /* 11011100 */
  2536. 0x1e, /* 01111000 */
  2537. 0x30, /* 00001100 */
  2538. 0x3e, /* 01111100 */
  2539. 0x33, /* 11001100 */
  2540. 0x7e, /* 01111110 */
  2541. 0x00, /* 00000000 */
  2542. /*
  2543. * 228 0xe4 'ä'
  2544. */
  2545. 0x33, /* 11001100 */
  2546. 0x00, /* 00000000 */
  2547. 0x1e, /* 01111000 */
  2548. 0x30, /* 00001100 */
  2549. 0x3e, /* 01111100 */
  2550. 0x33, /* 11001100 */
  2551. 0x7e, /* 01111110 */
  2552. 0x00, /* 00000000 */
  2553. /*
  2554. * 229 0xe5 'å'
  2555. */
  2556. 0x0c, /* 00110000 */
  2557. 0x0c, /* 00110000 */
  2558. 0x1e, /* 01111000 */
  2559. 0x30, /* 00001100 */
  2560. 0x3e, /* 01111100 */
  2561. 0x33, /* 11001100 */
  2562. 0x7e, /* 01111110 */
  2563. 0x00, /* 00000000 */
  2564. /*
  2565. * 230 0xe6 'æ'
  2566. */
  2567. 0x00, /* 00000000 */
  2568. 0x00, /* 00000000 */
  2569. 0xfe, /* 01111111 */
  2570. 0x30, /* 00001100 */
  2571. 0xfe, /* 01111111 */
  2572. 0x33, /* 11001100 */
  2573. 0xfe, /* 01111111 */
  2574. 0x00, /* 00000000 */
  2575. /*
  2576. * 231 0xe7 'ç'
  2577. */
  2578. 0x00, /* 00000000 */
  2579. 0x00, /* 00000000 */
  2580. 0x1e, /* 01111000 */
  2581. 0x03, /* 11000000 */
  2582. 0x03, /* 11000000 */
  2583. 0x1e, /* 01111000 */
  2584. 0x30, /* 00001100 */
  2585. 0x1c, /* 00111000 */
  2586. /*
  2587. * 232 0xe8 'è'
  2588. */
  2589. 0x07, /* 11100000 */
  2590. 0x00, /* 00000000 */
  2591. 0x1e, /* 01111000 */
  2592. 0x33, /* 11001100 */
  2593. 0x3f, /* 11111100 */
  2594. 0x03, /* 11000000 */
  2595. 0x1e, /* 01111000 */
  2596. 0x00, /* 00000000 */
  2597. /*
  2598. * 233 0xe9 'é'
  2599. */
  2600. 0x38, /* 00011100 */
  2601. 0x00, /* 00000000 */
  2602. 0x1e, /* 01111000 */
  2603. 0x33, /* 11001100 */
  2604. 0x3f, /* 11111100 */
  2605. 0x03, /* 11000000 */
  2606. 0x1e, /* 01111000 */
  2607. 0x00, /* 00000000 */
  2608. /*
  2609. * 234 0xea 'ê'
  2610. */
  2611. 0x7e, /* 01111110 */
  2612. 0xc3, /* 11000011 */
  2613. 0x3c, /* 00111100 */
  2614. 0x66, /* 01100110 */
  2615. 0x7e, /* 01111110 */
  2616. 0x06, /* 01100000 */
  2617. 0x3c, /* 00111100 */
  2618. 0x00, /* 00000000 */
  2619. /*
  2620. * 235 0xeb 'ë'
  2621. */
  2622. 0x33, /* 11001100 */
  2623. 0x00, /* 00000000 */
  2624. 0x1e, /* 01111000 */
  2625. 0x33, /* 11001100 */
  2626. 0x3f, /* 11111100 */
  2627. 0x03, /* 11000000 */
  2628. 0x1e, /* 01111000 */
  2629. 0x00, /* 00000000 */
  2630. /*
  2631. * 236 0xec 'ì'
  2632. */
  2633. 0x07, /* 11100000 */
  2634. 0x00, /* 00000000 */
  2635. 0x0e, /* 01110000 */
  2636. 0x0c, /* 00110000 */
  2637. 0x0c, /* 00110000 */
  2638. 0x0c, /* 00110000 */
  2639. 0x1e, /* 01111000 */
  2640. 0x00, /* 00000000 */
  2641. /*
  2642. * 237 0xed 'í'
  2643. */
  2644. 0x1c, /* 00111000 */
  2645. 0x00, /* 00000000 */
  2646. 0x0e, /* 01110000 */
  2647. 0x0c, /* 00110000 */
  2648. 0x0c, /* 00110000 */
  2649. 0x0c, /* 00110000 */
  2650. 0x1e, /* 01111000 */
  2651. 0x00, /* 00000000 */
  2652. /*
  2653. * 238 0xee 'î'
  2654. */
  2655. 0x3e, /* 01111100 */
  2656. 0x63, /* 11000110 */
  2657. 0x1c, /* 00111000 */
  2658. 0x18, /* 00011000 */
  2659. 0x18, /* 00011000 */
  2660. 0x18, /* 00011000 */
  2661. 0x3c, /* 00111100 */
  2662. 0x00, /* 00000000 */
  2663. /*
  2664. * 239 0xef 'ï'
  2665. */
  2666. 0x33, /* 11001100 */
  2667. 0x00, /* 00000000 */
  2668. 0x0e, /* 01110000 */
  2669. 0x0c, /* 00110000 */
  2670. 0x0c, /* 00110000 */
  2671. 0x0c, /* 00110000 */
  2672. 0x1e, /* 01111000 */
  2673. 0x00, /* 00000000 */
  2674. /*
  2675. * 240 0xf0 'ð'
  2676. */
  2677. 0x1b, /* 11011000 */
  2678. 0x0e, /* 01110000 */
  2679. 0x1b, /* 11011000 */
  2680. 0x30, /* 00001100 */
  2681. 0x3e, /* 01111100 */
  2682. 0x33, /* 11001100 */
  2683. 0x1e, /* 01111000 */
  2684. 0x00, /* 00000000 */
  2685. /*
  2686. * 241 0xf1 'ñ'
  2687. */
  2688. 0x00, /* 00000000 */
  2689. 0x1f, /* 11111000 */
  2690. 0x00, /* 00000000 */
  2691. 0x1f, /* 11111000 */
  2692. 0x33, /* 11001100 */
  2693. 0x33, /* 11001100 */
  2694. 0x33, /* 11001100 */
  2695. 0x00, /* 00000000 */
  2696. /*
  2697. * 242 0xf2 'ò'
  2698. */
  2699. 0x00, /* 00000000 */
  2700. 0x07, /* 11100000 */
  2701. 0x00, /* 00000000 */
  2702. 0x1e, /* 01111000 */
  2703. 0x33, /* 11001100 */
  2704. 0x33, /* 11001100 */
  2705. 0x1e, /* 01111000 */
  2706. 0x00, /* 00000000 */
  2707. /*
  2708. * 243 0xf3 'ó'
  2709. */
  2710. 0x00, /* 00000000 */
  2711. 0x38, /* 00011100 */
  2712. 0x00, /* 00000000 */
  2713. 0x1e, /* 01111000 */
  2714. 0x33, /* 11001100 */
  2715. 0x33, /* 11001100 */
  2716. 0x1e, /* 01111000 */
  2717. 0x00, /* 00000000 */
  2718. /*
  2719. * 244 0xf4 'ô'
  2720. */
  2721. 0x1e, /* 01111000 */
  2722. 0x33, /* 11001100 */
  2723. 0x00, /* 00000000 */
  2724. 0x1e, /* 01111000 */
  2725. 0x33, /* 11001100 */
  2726. 0x33, /* 11001100 */
  2727. 0x1e, /* 01111000 */
  2728. 0x00, /* 00000000 */
  2729. /*
  2730. * 245 0xf5 'õ'
  2731. */
  2732. 0x6e, /* 01110110 */
  2733. 0x3b, /* 11011100 */
  2734. 0x00, /* 00000000 */
  2735. 0x1e, /* 01111000 */
  2736. 0x33, /* 11001100 */
  2737. 0x33, /* 11001100 */
  2738. 0x1e, /* 01111000 */
  2739. 0x00, /* 00000000 */
  2740. /*
  2741. * 246 0xf6 'ö'
  2742. */
  2743. 0x00, /* 00000000 */
  2744. 0x33, /* 11001100 */
  2745. 0x00, /* 00000000 */
  2746. 0x1e, /* 01111000 */
  2747. 0x33, /* 11001100 */
  2748. 0x33, /* 11001100 */
  2749. 0x1e, /* 01111000 */
  2750. 0x00, /* 00000000 */
  2751. /*
  2752. * 247 0xf7 '÷'
  2753. */
  2754. 0x18, /* 00011000 */
  2755. 0x18, /* 00011000 */
  2756. 0x00, /* 00000000 */
  2757. 0x7e, /* 01111110 */
  2758. 0x00, /* 00000000 */
  2759. 0x18, /* 00011000 */
  2760. 0x18, /* 00011000 */
  2761. 0x00, /* 00000000 */
  2762. /*
  2763. * 248 0xf8 'ø'
  2764. */
  2765. 0x00, /* 00000000 */
  2766. 0x60, /* 00000110 */
  2767. 0x3c, /* 00111100 */
  2768. 0x76, /* 01101110 */
  2769. 0x7e, /* 01111110 */
  2770. 0x6e, /* 01110110 */
  2771. 0x3c, /* 00111100 */
  2772. 0x06, /* 01100000 */
  2773. /*
  2774. * 249 0xf9 'ù'
  2775. */
  2776. 0x00, /* 00000000 */
  2777. 0x07, /* 11100000 */
  2778. 0x00, /* 00000000 */
  2779. 0x33, /* 11001100 */
  2780. 0x33, /* 11001100 */
  2781. 0x33, /* 11001100 */
  2782. 0x7e, /* 01111110 */
  2783. 0x00, /* 00000000 */
  2784. /*
  2785. * 250 0xfa 'ú'
  2786. */
  2787. 0x00, /* 00000000 */
  2788. 0x38, /* 00011100 */
  2789. 0x00, /* 00000000 */
  2790. 0x33, /* 11001100 */
  2791. 0x33, /* 11001100 */
  2792. 0x33, /* 11001100 */
  2793. 0x7e, /* 01111110 */
  2794. 0x00, /* 00000000 */
  2795. /*
  2796. * 251 0xfb 'û'
  2797. */
  2798. 0x1e, /* 01111000 */
  2799. 0x33, /* 11001100 */
  2800. 0x00, /* 00000000 */
  2801. 0x33, /* 11001100 */
  2802. 0x33, /* 11001100 */
  2803. 0x33, /* 11001100 */
  2804. 0x7e, /* 01111110 */
  2805. 0x00, /* 00000000 */
  2806. /*
  2807. * 252 0xfc 'ü'
  2808. */
  2809. 0x00, /* 00000000 */
  2810. 0x33, /* 11001100 */
  2811. 0x00, /* 00000000 */
  2812. 0x33, /* 11001100 */
  2813. 0x33, /* 11001100 */
  2814. 0x33, /* 11001100 */
  2815. 0x7e, /* 01111110 */
  2816. 0x00, /* 00000000 */
  2817. /*
  2818. * 253 0xfd 'ý'
  2819. */
  2820. 0x00, /* 00000000 */
  2821. 0x38, /* 00011100 */
  2822. 0x00, /* 00000000 */
  2823. 0x33, /* 11001100 */
  2824. 0x33, /* 11001100 */
  2825. 0x3e, /* 01111100 */
  2826. 0x30, /* 00001100 */
  2827. 0x1f, /* 11111000 */
  2828. /*
  2829. * 254 0xfe 'þ'
  2830. */
  2831. 0x00, /* 00000000 */
  2832. 0x00, /* 00000000 */
  2833. 0x06, /* 01100000 */
  2834. 0x3e, /* 01111100 */
  2835. 0x66, /* 01100110 */
  2836. 0x3e, /* 01111100 */
  2837. 0x06, /* 01100000 */
  2838. 0x00, /* 00000000 */
  2839. /*
  2840. * 255 0xff 'ÿ'
  2841. */
  2842. 0x00, /* 00000000 */
  2843. 0x33, /* 11001100 */
  2844. 0x00, /* 00000000 */
  2845. 0x33, /* 11001100 */
  2846. 0x33, /* 11001100 */
  2847. 0x3e, /* 01111100 */
  2848. 0x30, /* 00001100 */
  2849. 0x1f, /* 11111000 */
  2850. };
  2851. /* ---- Character */
  2852. struct SDLTest_CharTextureCache
  2853. {
  2854. SDL_Renderer *renderer;
  2855. SDL_Texture *charTextureCache[256];
  2856. struct SDLTest_CharTextureCache *next;
  2857. };
  2858. /*!
  2859. \brief List of per-renderer caches for 8x8 pixel font textures created at runtime.
  2860. */
  2861. static struct SDLTest_CharTextureCache *SDLTest_CharTextureCacheList;
  2862. int SDLTest_DrawCharacter(SDL_Renderer *renderer, float x, float y, Uint32 c)
  2863. {
  2864. const Uint32 charWidth = FONT_CHARACTER_SIZE;
  2865. const Uint32 charHeight = FONT_CHARACTER_SIZE;
  2866. const Uint32 charSize = FONT_CHARACTER_SIZE;
  2867. SDL_FRect srect;
  2868. SDL_FRect drect;
  2869. int result;
  2870. Uint32 ix, iy;
  2871. const unsigned char *charpos;
  2872. Uint32 *curpos;
  2873. Uint8 *linepos;
  2874. Uint32 pitch;
  2875. SDL_Surface *character;
  2876. Uint32 ci;
  2877. Uint8 r, g, b, a;
  2878. struct SDLTest_CharTextureCache *cache;
  2879. /*
  2880. * Setup source rectangle
  2881. */
  2882. srect.x = 0.0f;
  2883. srect.y = 0.0f;
  2884. srect.w = (float)charWidth;
  2885. srect.h = (float)charHeight;
  2886. /*
  2887. * Setup destination rectangle
  2888. */
  2889. drect.x = x;
  2890. drect.y = y;
  2891. drect.w = (float)charWidth;
  2892. drect.h = (float)charHeight;
  2893. /* Character index in cache */
  2894. ci = c;
  2895. /* Search for this renderer's cache */
  2896. for (cache = SDLTest_CharTextureCacheList; cache != NULL; cache = cache->next) {
  2897. if (cache->renderer == renderer) {
  2898. break;
  2899. }
  2900. }
  2901. /* Allocate a new cache for this renderer if needed */
  2902. if (cache == NULL) {
  2903. cache = (struct SDLTest_CharTextureCache *)SDL_calloc(1, sizeof(struct SDLTest_CharTextureCache));
  2904. cache->renderer = renderer;
  2905. cache->next = SDLTest_CharTextureCacheList;
  2906. SDLTest_CharTextureCacheList = cache;
  2907. }
  2908. /*
  2909. * Create new charWidth x charHeight bitmap surface if not already present.
  2910. */
  2911. if (cache->charTextureCache[ci] == NULL) {
  2912. /*
  2913. * Redraw character into surface
  2914. */
  2915. character = SDL_CreateSurface(charWidth, charHeight, SDL_PIXELFORMAT_RGBA8888);
  2916. if (character == NULL) {
  2917. return -1;
  2918. }
  2919. charpos = SDLTest_FontData + ci * charSize;
  2920. linepos = (Uint8 *)character->pixels;
  2921. pitch = character->pitch;
  2922. /*
  2923. * Drawing loop
  2924. */
  2925. for (iy = 0; iy < charWidth; iy++) {
  2926. curpos = (Uint32 *)linepos;
  2927. for (ix = 0; ix < charWidth; ix++) {
  2928. if ((*charpos) & (1 << ix)) {
  2929. *curpos = 0xffffffff;
  2930. } else {
  2931. *curpos = 0;
  2932. }
  2933. ++curpos;
  2934. }
  2935. linepos += pitch;
  2936. ++charpos;
  2937. }
  2938. /* Convert temp surface into texture */
  2939. cache->charTextureCache[ci] = SDL_CreateTextureFromSurface(renderer, character);
  2940. SDL_DestroySurface(character);
  2941. /*
  2942. * Check pointer
  2943. */
  2944. if (cache->charTextureCache[ci] == NULL) {
  2945. return -1;
  2946. }
  2947. }
  2948. /*
  2949. * Set color
  2950. */
  2951. result = 0;
  2952. result |= SDL_GetRenderDrawColor(renderer, &r, &g, &b, &a);
  2953. result |= SDL_SetTextureColorMod(cache->charTextureCache[ci], r, g, b);
  2954. result |= SDL_SetTextureAlphaMod(cache->charTextureCache[ci], a);
  2955. /*
  2956. * Draw texture onto destination
  2957. */
  2958. result |= SDL_RenderTexture(renderer, cache->charTextureCache[ci], &srect, &drect);
  2959. return result;
  2960. }
  2961. /* Gets a unicode value from a UTF-8 encoded string
  2962. * Outputs increment to advance the string */
  2963. #define UNKNOWN_UNICODE 0xFFFD
  2964. static Uint32 UTF8_getch(const char *src, size_t srclen, int *inc)
  2965. {
  2966. const Uint8 *p = (const Uint8 *)src;
  2967. size_t left = 0;
  2968. size_t save_srclen = srclen;
  2969. SDL_bool overlong = SDL_FALSE;
  2970. SDL_bool underflow = SDL_FALSE;
  2971. Uint32 ch = UNKNOWN_UNICODE;
  2972. if (srclen == 0) {
  2973. return UNKNOWN_UNICODE;
  2974. }
  2975. if (p[0] >= 0xFC) {
  2976. if ((p[0] & 0xFE) == 0xFC) {
  2977. if (p[0] == 0xFC && (p[1] & 0xFC) == 0x80) {
  2978. overlong = SDL_TRUE;
  2979. }
  2980. ch = (Uint32)(p[0] & 0x01);
  2981. left = 5;
  2982. }
  2983. } else if (p[0] >= 0xF8) {
  2984. if ((p[0] & 0xFC) == 0xF8) {
  2985. if (p[0] == 0xF8 && (p[1] & 0xF8) == 0x80) {
  2986. overlong = SDL_TRUE;
  2987. }
  2988. ch = (Uint32)(p[0] & 0x03);
  2989. left = 4;
  2990. }
  2991. } else if (p[0] >= 0xF0) {
  2992. if ((p[0] & 0xF8) == 0xF0) {
  2993. if (p[0] == 0xF0 && (p[1] & 0xF0) == 0x80) {
  2994. overlong = SDL_TRUE;
  2995. }
  2996. ch = (Uint32)(p[0] & 0x07);
  2997. left = 3;
  2998. }
  2999. } else if (p[0] >= 0xE0) {
  3000. if ((p[0] & 0xF0) == 0xE0) {
  3001. if (p[0] == 0xE0 && (p[1] & 0xE0) == 0x80) {
  3002. overlong = SDL_TRUE;
  3003. }
  3004. ch = (Uint32)(p[0] & 0x0F);
  3005. left = 2;
  3006. }
  3007. } else if (p[0] >= 0xC0) {
  3008. if ((p[0] & 0xE0) == 0xC0) {
  3009. if ((p[0] & 0xDE) == 0xC0) {
  3010. overlong = SDL_TRUE;
  3011. }
  3012. ch = (Uint32)(p[0] & 0x1F);
  3013. left = 1;
  3014. }
  3015. } else {
  3016. if (!(p[0] & 0x80)) {
  3017. ch = (Uint32)p[0];
  3018. }
  3019. }
  3020. --srclen;
  3021. while (left > 0 && srclen > 0) {
  3022. ++p;
  3023. if ((p[0] & 0xC0) != 0x80) {
  3024. ch = UNKNOWN_UNICODE;
  3025. break;
  3026. }
  3027. ch <<= 6;
  3028. ch |= (p[0] & 0x3F);
  3029. --srclen;
  3030. --left;
  3031. }
  3032. if (left > 0) {
  3033. underflow = SDL_TRUE;
  3034. }
  3035. if (overlong || underflow ||
  3036. (ch >= 0xD800 && ch <= 0xDFFF) ||
  3037. (ch == 0xFFFE || ch == 0xFFFF) || ch > 0x10FFFF) {
  3038. ch = UNKNOWN_UNICODE;
  3039. }
  3040. *inc = (int)(save_srclen - srclen);
  3041. return ch;
  3042. }
  3043. #define UTF8_IsTrailingByte(c) ((c) >= 0x80 && (c) <= 0xBF)
  3044. int SDLTest_DrawString(SDL_Renderer *renderer, float x, float y, const char *s)
  3045. {
  3046. const Uint32 charWidth = FONT_CHARACTER_SIZE;
  3047. int result = 0;
  3048. float curx = x;
  3049. float cury = y;
  3050. size_t len = SDL_strlen(s);
  3051. while (len > 0 && !result) {
  3052. int advance = 0;
  3053. Uint32 ch = UTF8_getch(s, len, &advance);
  3054. if (ch < 256) {
  3055. result |= SDLTest_DrawCharacter(renderer, curx, cury, ch);
  3056. }
  3057. curx += charWidth;
  3058. s += advance;
  3059. len -= advance;
  3060. }
  3061. return result;
  3062. }
  3063. SDLTest_TextWindow *SDLTest_TextWindowCreate(float x, float y, float w, float h)
  3064. {
  3065. SDLTest_TextWindow *textwin = (SDLTest_TextWindow *)SDL_malloc(sizeof(*textwin));
  3066. if (textwin == NULL) {
  3067. return NULL;
  3068. }
  3069. textwin->rect.x = x;
  3070. textwin->rect.y = y;
  3071. textwin->rect.w = w;
  3072. textwin->rect.h = h;
  3073. textwin->current = 0;
  3074. textwin->numlines = (int)SDL_ceilf(h / FONT_LINE_HEIGHT);
  3075. textwin->lines = (char **)SDL_calloc(textwin->numlines, sizeof(*textwin->lines));
  3076. if (!textwin->lines) {
  3077. SDL_free(textwin);
  3078. return NULL;
  3079. }
  3080. return textwin;
  3081. }
  3082. void SDLTest_TextWindowDisplay(SDLTest_TextWindow *textwin, SDL_Renderer *renderer)
  3083. {
  3084. int i;
  3085. float y;
  3086. for (y = textwin->rect.y, i = 0; i < textwin->numlines; ++i, y += FONT_LINE_HEIGHT) {
  3087. if (textwin->lines[i]) {
  3088. SDLTest_DrawString(renderer, textwin->rect.x, y, textwin->lines[i]);
  3089. }
  3090. }
  3091. }
  3092. void SDLTest_TextWindowAddText(SDLTest_TextWindow *textwin, const char *fmt, ...)
  3093. {
  3094. char text[1024];
  3095. va_list ap;
  3096. va_start(ap, fmt);
  3097. (void)SDL_vsnprintf(text, sizeof(text), fmt, ap);
  3098. va_end(ap);
  3099. SDLTest_TextWindowAddTextWithLength(textwin, text, SDL_strlen(text));
  3100. }
  3101. void SDLTest_TextWindowAddTextWithLength(SDLTest_TextWindow *textwin, const char *text, size_t len)
  3102. {
  3103. size_t existing;
  3104. SDL_bool newline = SDL_FALSE;
  3105. char *line;
  3106. if (len > 0 && text[len - 1] == '\n') {
  3107. --len;
  3108. newline = SDL_TRUE;
  3109. }
  3110. if (textwin->lines[textwin->current]) {
  3111. existing = SDL_strlen(textwin->lines[textwin->current]);
  3112. } else {
  3113. existing = 0;
  3114. }
  3115. if (*text == '\b') {
  3116. if (existing) {
  3117. while (existing > 1 && UTF8_IsTrailingByte((Uint8)textwin->lines[textwin->current][existing - 1])) {
  3118. --existing;
  3119. }
  3120. --existing;
  3121. textwin->lines[textwin->current][existing] = '\0';
  3122. } else if (textwin->current > 0) {
  3123. SDL_free(textwin->lines[textwin->current]);
  3124. textwin->lines[textwin->current] = NULL;
  3125. --textwin->current;
  3126. }
  3127. return;
  3128. }
  3129. line = (char *)SDL_realloc(textwin->lines[textwin->current], existing + len + 1);
  3130. if (line) {
  3131. SDL_memcpy(&line[existing], text, len);
  3132. line[existing + len] = '\0';
  3133. textwin->lines[textwin->current] = line;
  3134. if (newline) {
  3135. if (textwin->current == textwin->numlines - 1) {
  3136. SDL_free(textwin->lines[0]);
  3137. SDL_memcpy(&textwin->lines[0], &textwin->lines[1], (textwin->numlines - 1) * sizeof(textwin->lines[1]));
  3138. textwin->lines[textwin->current] = NULL;
  3139. } else {
  3140. ++textwin->current;
  3141. }
  3142. }
  3143. }
  3144. }
  3145. void SDLTest_TextWindowClear(SDLTest_TextWindow *textwin)
  3146. {
  3147. int i;
  3148. for (i = 0; i < textwin->numlines; ++i) {
  3149. if (textwin->lines[i]) {
  3150. SDL_free(textwin->lines[i]);
  3151. textwin->lines[i] = NULL;
  3152. }
  3153. }
  3154. textwin->current = 0;
  3155. }
  3156. void SDLTest_TextWindowDestroy(SDLTest_TextWindow *textwin)
  3157. {
  3158. if (textwin) {
  3159. SDLTest_TextWindowClear(textwin);
  3160. SDL_free(textwin->lines);
  3161. SDL_free(textwin);
  3162. }
  3163. }
  3164. void SDLTest_CleanupTextDrawing(void)
  3165. {
  3166. unsigned int i;
  3167. struct SDLTest_CharTextureCache *cache, *next;
  3168. cache = SDLTest_CharTextureCacheList;
  3169. while (cache) {
  3170. for (i = 0; i < SDL_arraysize(cache->charTextureCache); ++i) {
  3171. if (cache->charTextureCache[i]) {
  3172. SDL_DestroyTexture(cache->charTextureCache[i]);
  3173. cache->charTextureCache[i] = NULL;
  3174. }
  3175. }
  3176. next = cache->next;
  3177. SDL_free(cache);
  3178. cache = next;
  3179. }
  3180. SDLTest_CharTextureCacheList = NULL;
  3181. }