github.com/phpdave11/gofpdf@v1.4.2/embedded.go (about) 1 /* 2 * Copyright (c) 2014 Kurt Jung (Gmail: kurt.w.jung) 3 * 4 * Permission to use, copy, modify, and distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 package gofpdf 18 19 // Embedded standard fonts 20 21 import ( 22 "strings" 23 ) 24 25 var embeddedFontList = map[string]string{ 26 "courierBI": `{"Tp":"Core","Name":"Courier-BoldOblique","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}`, 27 "courierB": `{"Tp":"Core","Name":"Courier-Bold","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}`, 28 "courierI": `{"Tp":"Core","Name":"Courier-Oblique","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}`, 29 "courier": `{"Tp":"Core","Name":"Courier","Up":-100,"Ut":50,"I":256,"Cw":[600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600]}`, 30 "helveticaBI": `{"Tp":"Core","Name":"Helvetica-BoldOblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]}`, 31 "helveticaB": `{"Tp":"Core","Name":"Helvetica-Bold","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,350,556,350,278,556,500,1000,556,556,333,1000,667,333,1000,350,611,350,350,278,278,500,500,350,556,1000,333,1000,556,333,944,350,500,667,278,333,556,556,556,556,280,556,333,737,370,556,584,333,737,333,400,584,333,333,333,611,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,584,611,611,611,611,611,556,611,556]}`, 32 "helveticaI": `{"Tp":"Core","Name":"Helvetica-Oblique","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]}`, 33 "helvetica": `{"Tp":"Core","Name":"Helvetica","Up":-100,"Ut":50,"Cw":[278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,350,556,350,222,556,333,1000,556,556,333,1000,667,333,1000,350,611,350,350,222,222,333,333,350,556,1000,333,1000,500,333,944,350,500,667,278,333,556,556,556,556,260,556,333,737,370,556,584,333,737,333,400,584,333,333,333,556,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1000,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,584,611,556,556,556,556,500,556,500]}`, 34 "timesBI": `{"Tp":"Core","Name":"Times-BoldItalic","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,389,555,500,500,833,778,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,832,667,667,667,722,667,667,722,778,389,500,667,611,889,722,722,611,722,667,556,611,722,667,889,667,611,611,333,278,333,570,500,333,500,500,444,500,444,333,500,556,278,278,500,278,778,556,500,500,500,389,389,278,556,444,667,500,444,389,348,220,348,570,350,500,350,333,500,500,1000,500,500,333,1000,556,333,944,350,611,350,350,333,333,500,500,350,500,1000,333,1000,389,333,722,350,389,611,250,389,500,500,500,500,220,500,333,747,266,500,606,333,747,333,400,570,300,300,333,576,500,250,333,300,300,500,750,750,750,500,667,667,667,667,667,667,944,667,667,667,667,667,389,389,389,389,722,722,722,722,722,722,722,570,722,722,722,722,722,611,611,500,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,444,500,444]}`, 35 "timesB": `{"Tp":"Core","Name":"Times-Bold","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,555,500,500,1000,833,278,333,333,500,570,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,570,570,570,500,930,722,667,722,722,667,611,778,778,389,500,778,667,944,722,778,611,778,722,556,667,722,722,1000,722,722,667,333,278,333,581,500,333,500,556,444,556,444,333,500,556,278,333,556,278,833,556,500,556,556,444,389,333,556,500,722,500,500,444,394,220,394,520,350,500,350,333,500,500,1000,500,500,333,1000,556,333,1000,350,667,350,350,333,333,500,500,350,500,1000,333,1000,389,333,722,350,444,722,250,333,500,500,500,500,220,500,333,747,300,500,570,333,747,333,400,570,300,300,333,556,540,250,333,300,330,500,750,750,750,500,722,722,722,722,722,722,1000,722,667,667,667,667,389,389,389,389,722,722,778,778,778,778,778,570,778,722,722,722,722,722,611,556,500,500,500,500,500,500,722,444,444,444,444,444,278,278,278,278,500,556,500,500,500,500,500,570,500,556,556,556,556,500,556,500]}`, 36 "timesI": `{"Tp":"Core","Name":"Times-Italic","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,420,500,500,833,778,214,333,333,500,675,250,333,250,278,500,500,500,500,500,500,500,500,500,500,333,333,675,675,675,500,920,611,611,667,722,611,611,722,722,333,444,667,556,833,667,722,611,722,611,500,556,722,611,833,611,556,556,389,278,389,422,500,333,500,500,444,500,444,278,500,500,278,278,444,278,722,500,500,500,500,389,389,278,500,444,667,444,444,389,400,275,400,541,350,500,350,333,500,556,889,500,500,333,1000,500,333,944,350,556,350,350,333,333,556,556,350,500,889,333,980,389,333,667,350,389,556,250,389,500,500,500,500,275,500,333,760,276,500,675,333,760,333,400,675,300,300,333,500,523,250,333,300,310,500,750,750,750,500,611,611,611,611,611,611,889,667,611,611,611,611,333,333,333,333,722,667,722,722,722,722,722,675,722,722,722,722,722,556,611,500,500,500,500,500,500,500,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,675,500,500,500,500,500,444,500,444]}`, 37 "times": `{"Tp":"Core","Name":"Times-Roman","Up":-100,"Ut":50,"Cw":[250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,333,408,500,500,833,778,180,333,333,500,564,250,333,250,278,500,500,500,500,500,500,500,500,500,500,278,278,564,564,564,444,921,722,667,667,722,611,556,722,722,333,389,722,611,889,722,722,556,722,667,556,611,722,722,944,722,722,611,333,278,333,469,500,333,444,500,444,500,444,333,500,500,278,278,500,278,778,500,500,500,500,333,389,278,500,500,722,500,500,444,480,200,480,541,350,500,350,333,500,444,1000,500,500,333,1000,556,333,889,350,611,350,350,333,333,444,444,350,500,1000,333,980,389,333,722,350,444,722,250,333,500,500,500,500,200,500,333,760,276,500,564,333,760,333,400,564,300,300,333,500,453,250,333,300,310,500,750,750,750,444,722,722,722,722,722,722,889,667,611,611,611,611,333,333,333,333,722,722,722,722,722,722,722,564,722,722,722,722,722,722,556,500,444,444,444,444,444,444,667,444,444,444,444,444,278,278,278,278,500,500,500,500,500,500,500,564,500,500,500,500,500,500,500,500]}`, 38 "zapfdingbats": `{"Tp":"Core","Name":"ZapfDingbats","Up":-100,"Ut":50,"Cw":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,278,974,961,974,980,719,789,790,791,690,960,939,549,855,911,933,911,945,974,755,846,762,761,571,677,763,760,759,754,494,552,537,577,692,786,788,788,790,793,794,816,823,789,841,823,833,816,831,923,744,723,749,790,792,695,776,768,792,759,707,708,682,701,826,815,789,789,707,687,696,689,786,787,713,791,785,791,873,761,762,762,759,759,892,892,788,784,438,138,277,415,392,392,668,668,0,390,390,317,317,276,276,509,509,410,410,234,234,334,334,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,732,544,544,910,667,760,760,776,595,694,626,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,788,894,838,1016,458,748,924,748,918,927,928,928,834,873,828,924,924,917,930,931,463,883,836,836,867,867,696,696,874,0,874,760,946,771,865,771,888,967,888,831,873,927,970,918,0]}`, 39 } 40 41 func (f *Fpdf) coreFontReader(familyStr, styleStr string) (r *strings.Reader) { 42 key := familyStr + styleStr 43 str, ok := embeddedFontList[key] 44 if ok { 45 r = strings.NewReader(str) 46 } else { 47 f.SetErrorf("could not locate \"%s\" among embedded core font definition files", key) 48 } 49 return 50 } 51 52 var embeddedMapList = map[string]string{ 53 "cp1250": ` 54 !00 U+0000 .notdef 55 !01 U+0001 .notdef 56 !02 U+0002 .notdef 57 !03 U+0003 .notdef 58 !04 U+0004 .notdef 59 !05 U+0005 .notdef 60 !06 U+0006 .notdef 61 !07 U+0007 .notdef 62 !08 U+0008 .notdef 63 !09 U+0009 .notdef 64 !0A U+000A .notdef 65 !0B U+000B .notdef 66 !0C U+000C .notdef 67 !0D U+000D .notdef 68 !0E U+000E .notdef 69 !0F U+000F .notdef 70 !10 U+0010 .notdef 71 !11 U+0011 .notdef 72 !12 U+0012 .notdef 73 !13 U+0013 .notdef 74 !14 U+0014 .notdef 75 !15 U+0015 .notdef 76 !16 U+0016 .notdef 77 !17 U+0017 .notdef 78 !18 U+0018 .notdef 79 !19 U+0019 .notdef 80 !1A U+001A .notdef 81 !1B U+001B .notdef 82 !1C U+001C .notdef 83 !1D U+001D .notdef 84 !1E U+001E .notdef 85 !1F U+001F .notdef 86 !20 U+0020 space 87 !21 U+0021 exclam 88 !22 U+0022 quotedbl 89 !23 U+0023 numbersign 90 !24 U+0024 dollar 91 !25 U+0025 percent 92 !26 U+0026 ampersand 93 !27 U+0027 quotesingle 94 !28 U+0028 parenleft 95 !29 U+0029 parenright 96 !2A U+002A asterisk 97 !2B U+002B plus 98 !2C U+002C comma 99 !2D U+002D hyphen 100 !2E U+002E period 101 !2F U+002F slash 102 !30 U+0030 zero 103 !31 U+0031 one 104 !32 U+0032 two 105 !33 U+0033 three 106 !34 U+0034 four 107 !35 U+0035 five 108 !36 U+0036 six 109 !37 U+0037 seven 110 !38 U+0038 eight 111 !39 U+0039 nine 112 !3A U+003A colon 113 !3B U+003B semicolon 114 !3C U+003C less 115 !3D U+003D equal 116 !3E U+003E greater 117 !3F U+003F question 118 !40 U+0040 at 119 !41 U+0041 A 120 !42 U+0042 B 121 !43 U+0043 C 122 !44 U+0044 D 123 !45 U+0045 E 124 !46 U+0046 F 125 !47 U+0047 G 126 !48 U+0048 H 127 !49 U+0049 I 128 !4A U+004A J 129 !4B U+004B K 130 !4C U+004C L 131 !4D U+004D M 132 !4E U+004E N 133 !4F U+004F O 134 !50 U+0050 P 135 !51 U+0051 Q 136 !52 U+0052 R 137 !53 U+0053 S 138 !54 U+0054 T 139 !55 U+0055 U 140 !56 U+0056 V 141 !57 U+0057 W 142 !58 U+0058 X 143 !59 U+0059 Y 144 !5A U+005A Z 145 !5B U+005B bracketleft 146 !5C U+005C backslash 147 !5D U+005D bracketright 148 !5E U+005E asciicircum 149 !5F U+005F underscore 150 !60 U+0060 grave 151 !61 U+0061 a 152 !62 U+0062 b 153 !63 U+0063 c 154 !64 U+0064 d 155 !65 U+0065 e 156 !66 U+0066 f 157 !67 U+0067 g 158 !68 U+0068 h 159 !69 U+0069 i 160 !6A U+006A j 161 !6B U+006B k 162 !6C U+006C l 163 !6D U+006D m 164 !6E U+006E n 165 !6F U+006F o 166 !70 U+0070 p 167 !71 U+0071 q 168 !72 U+0072 r 169 !73 U+0073 s 170 !74 U+0074 t 171 !75 U+0075 u 172 !76 U+0076 v 173 !77 U+0077 w 174 !78 U+0078 x 175 !79 U+0079 y 176 !7A U+007A z 177 !7B U+007B braceleft 178 !7C U+007C bar 179 !7D U+007D braceright 180 !7E U+007E asciitilde 181 !7F U+007F .notdef 182 !80 U+20AC Euro 183 !82 U+201A quotesinglbase 184 !84 U+201E quotedblbase 185 !85 U+2026 ellipsis 186 !86 U+2020 dagger 187 !87 U+2021 daggerdbl 188 !89 U+2030 perthousand 189 !8A U+0160 Scaron 190 !8B U+2039 guilsinglleft 191 !8C U+015A Sacute 192 !8D U+0164 Tcaron 193 !8E U+017D Zcaron 194 !8F U+0179 Zacute 195 !91 U+2018 quoteleft 196 !92 U+2019 quoteright 197 !93 U+201C quotedblleft 198 !94 U+201D quotedblright 199 !95 U+2022 bullet 200 !96 U+2013 endash 201 !97 U+2014 emdash 202 !99 U+2122 trademark 203 !9A U+0161 scaron 204 !9B U+203A guilsinglright 205 !9C U+015B sacute 206 !9D U+0165 tcaron 207 !9E U+017E zcaron 208 !9F U+017A zacute 209 !A0 U+00A0 space 210 !A1 U+02C7 caron 211 !A2 U+02D8 breve 212 !A3 U+0141 Lslash 213 !A4 U+00A4 currency 214 !A5 U+0104 Aogonek 215 !A6 U+00A6 brokenbar 216 !A7 U+00A7 section 217 !A8 U+00A8 dieresis 218 !A9 U+00A9 copyright 219 !AA U+015E Scedilla 220 !AB U+00AB guillemotleft 221 !AC U+00AC logicalnot 222 !AD U+00AD hyphen 223 !AE U+00AE registered 224 !AF U+017B Zdotaccent 225 !B0 U+00B0 degree 226 !B1 U+00B1 plusminus 227 !B2 U+02DB ogonek 228 !B3 U+0142 lslash 229 !B4 U+00B4 acute 230 !B5 U+00B5 mu 231 !B6 U+00B6 paragraph 232 !B7 U+00B7 periodcentered 233 !B8 U+00B8 cedilla 234 !B9 U+0105 aogonek 235 !BA U+015F scedilla 236 !BB U+00BB guillemotright 237 !BC U+013D Lcaron 238 !BD U+02DD hungarumlaut 239 !BE U+013E lcaron 240 !BF U+017C zdotaccent 241 !C0 U+0154 Racute 242 !C1 U+00C1 Aacute 243 !C2 U+00C2 Acircumflex 244 !C3 U+0102 Abreve 245 !C4 U+00C4 Adieresis 246 !C5 U+0139 Lacute 247 !C6 U+0106 Cacute 248 !C7 U+00C7 Ccedilla 249 !C8 U+010C Ccaron 250 !C9 U+00C9 Eacute 251 !CA U+0118 Eogonek 252 !CB U+00CB Edieresis 253 !CC U+011A Ecaron 254 !CD U+00CD Iacute 255 !CE U+00CE Icircumflex 256 !CF U+010E Dcaron 257 !D0 U+0110 Dcroat 258 !D1 U+0143 Nacute 259 !D2 U+0147 Ncaron 260 !D3 U+00D3 Oacute 261 !D4 U+00D4 Ocircumflex 262 !D5 U+0150 Ohungarumlaut 263 !D6 U+00D6 Odieresis 264 !D7 U+00D7 multiply 265 !D8 U+0158 Rcaron 266 !D9 U+016E Uring 267 !DA U+00DA Uacute 268 !DB U+0170 Uhungarumlaut 269 !DC U+00DC Udieresis 270 !DD U+00DD Yacute 271 !DE U+0162 Tcommaaccent 272 !DF U+00DF germandbls 273 !E0 U+0155 racute 274 !E1 U+00E1 aacute 275 !E2 U+00E2 acircumflex 276 !E3 U+0103 abreve 277 !E4 U+00E4 adieresis 278 !E5 U+013A lacute 279 !E6 U+0107 cacute 280 !E7 U+00E7 ccedilla 281 !E8 U+010D ccaron 282 !E9 U+00E9 eacute 283 !EA U+0119 eogonek 284 !EB U+00EB edieresis 285 !EC U+011B ecaron 286 !ED U+00ED iacute 287 !EE U+00EE icircumflex 288 !EF U+010F dcaron 289 !F0 U+0111 dcroat 290 !F1 U+0144 nacute 291 !F2 U+0148 ncaron 292 !F3 U+00F3 oacute 293 !F4 U+00F4 ocircumflex 294 !F5 U+0151 ohungarumlaut 295 !F6 U+00F6 odieresis 296 !F7 U+00F7 divide 297 !F8 U+0159 rcaron 298 !F9 U+016F uring 299 !FA U+00FA uacute 300 !FB U+0171 uhungarumlaut 301 !FC U+00FC udieresis 302 !FD U+00FD yacute 303 !FE U+0163 tcommaaccent 304 !FF U+02D9 dotaccent 305 `, 306 "cp1252": ` 307 !00 U+0000 .notdef 308 !01 U+0001 .notdef 309 !02 U+0002 .notdef 310 !03 U+0003 .notdef 311 !04 U+0004 .notdef 312 !05 U+0005 .notdef 313 !06 U+0006 .notdef 314 !07 U+0007 .notdef 315 !08 U+0008 .notdef 316 !09 U+0009 .notdef 317 !0A U+000A .notdef 318 !0B U+000B .notdef 319 !0C U+000C .notdef 320 !0D U+000D .notdef 321 !0E U+000E .notdef 322 !0F U+000F .notdef 323 !10 U+0010 .notdef 324 !11 U+0011 .notdef 325 !12 U+0012 .notdef 326 !13 U+0013 .notdef 327 !14 U+0014 .notdef 328 !15 U+0015 .notdef 329 !16 U+0016 .notdef 330 !17 U+0017 .notdef 331 !18 U+0018 .notdef 332 !19 U+0019 .notdef 333 !1A U+001A .notdef 334 !1B U+001B .notdef 335 !1C U+001C .notdef 336 !1D U+001D .notdef 337 !1E U+001E .notdef 338 !1F U+001F .notdef 339 !20 U+0020 space 340 !21 U+0021 exclam 341 !22 U+0022 quotedbl 342 !23 U+0023 numbersign 343 !24 U+0024 dollar 344 !25 U+0025 percent 345 !26 U+0026 ampersand 346 !27 U+0027 quotesingle 347 !28 U+0028 parenleft 348 !29 U+0029 parenright 349 !2A U+002A asterisk 350 !2B U+002B plus 351 !2C U+002C comma 352 !2D U+002D hyphen 353 !2E U+002E period 354 !2F U+002F slash 355 !30 U+0030 zero 356 !31 U+0031 one 357 !32 U+0032 two 358 !33 U+0033 three 359 !34 U+0034 four 360 !35 U+0035 five 361 !36 U+0036 six 362 !37 U+0037 seven 363 !38 U+0038 eight 364 !39 U+0039 nine 365 !3A U+003A colon 366 !3B U+003B semicolon 367 !3C U+003C less 368 !3D U+003D equal 369 !3E U+003E greater 370 !3F U+003F question 371 !40 U+0040 at 372 !41 U+0041 A 373 !42 U+0042 B 374 !43 U+0043 C 375 !44 U+0044 D 376 !45 U+0045 E 377 !46 U+0046 F 378 !47 U+0047 G 379 !48 U+0048 H 380 !49 U+0049 I 381 !4A U+004A J 382 !4B U+004B K 383 !4C U+004C L 384 !4D U+004D M 385 !4E U+004E N 386 !4F U+004F O 387 !50 U+0050 P 388 !51 U+0051 Q 389 !52 U+0052 R 390 !53 U+0053 S 391 !54 U+0054 T 392 !55 U+0055 U 393 !56 U+0056 V 394 !57 U+0057 W 395 !58 U+0058 X 396 !59 U+0059 Y 397 !5A U+005A Z 398 !5B U+005B bracketleft 399 !5C U+005C backslash 400 !5D U+005D bracketright 401 !5E U+005E asciicircum 402 !5F U+005F underscore 403 !60 U+0060 grave 404 !61 U+0061 a 405 !62 U+0062 b 406 !63 U+0063 c 407 !64 U+0064 d 408 !65 U+0065 e 409 !66 U+0066 f 410 !67 U+0067 g 411 !68 U+0068 h 412 !69 U+0069 i 413 !6A U+006A j 414 !6B U+006B k 415 !6C U+006C l 416 !6D U+006D m 417 !6E U+006E n 418 !6F U+006F o 419 !70 U+0070 p 420 !71 U+0071 q 421 !72 U+0072 r 422 !73 U+0073 s 423 !74 U+0074 t 424 !75 U+0075 u 425 !76 U+0076 v 426 !77 U+0077 w 427 !78 U+0078 x 428 !79 U+0079 y 429 !7A U+007A z 430 !7B U+007B braceleft 431 !7C U+007C bar 432 !7D U+007D braceright 433 !7E U+007E asciitilde 434 !7F U+007F .notdef 435 !80 U+20AC Euro 436 !82 U+201A quotesinglbase 437 !83 U+0192 florin 438 !84 U+201E quotedblbase 439 !85 U+2026 ellipsis 440 !86 U+2020 dagger 441 !87 U+2021 daggerdbl 442 !88 U+02C6 circumflex 443 !89 U+2030 perthousand 444 !8A U+0160 Scaron 445 !8B U+2039 guilsinglleft 446 !8C U+0152 OE 447 !8E U+017D Zcaron 448 !91 U+2018 quoteleft 449 !92 U+2019 quoteright 450 !93 U+201C quotedblleft 451 !94 U+201D quotedblright 452 !95 U+2022 bullet 453 !96 U+2013 endash 454 !97 U+2014 emdash 455 !98 U+02DC tilde 456 !99 U+2122 trademark 457 !9A U+0161 scaron 458 !9B U+203A guilsinglright 459 !9C U+0153 oe 460 !9E U+017E zcaron 461 !9F U+0178 Ydieresis 462 !A0 U+00A0 space 463 !A1 U+00A1 exclamdown 464 !A2 U+00A2 cent 465 !A3 U+00A3 sterling 466 !A4 U+00A4 currency 467 !A5 U+00A5 yen 468 !A6 U+00A6 brokenbar 469 !A7 U+00A7 section 470 !A8 U+00A8 dieresis 471 !A9 U+00A9 copyright 472 !AA U+00AA ordfeminine 473 !AB U+00AB guillemotleft 474 !AC U+00AC logicalnot 475 !AD U+00AD hyphen 476 !AE U+00AE registered 477 !AF U+00AF macron 478 !B0 U+00B0 degree 479 !B1 U+00B1 plusminus 480 !B2 U+00B2 twosuperior 481 !B3 U+00B3 threesuperior 482 !B4 U+00B4 acute 483 !B5 U+00B5 mu 484 !B6 U+00B6 paragraph 485 !B7 U+00B7 periodcentered 486 !B8 U+00B8 cedilla 487 !B9 U+00B9 onesuperior 488 !BA U+00BA ordmasculine 489 !BB U+00BB guillemotright 490 !BC U+00BC onequarter 491 !BD U+00BD onehalf 492 !BE U+00BE threequarters 493 !BF U+00BF questiondown 494 !C0 U+00C0 Agrave 495 !C1 U+00C1 Aacute 496 !C2 U+00C2 Acircumflex 497 !C3 U+00C3 Atilde 498 !C4 U+00C4 Adieresis 499 !C5 U+00C5 Aring 500 !C6 U+00C6 AE 501 !C7 U+00C7 Ccedilla 502 !C8 U+00C8 Egrave 503 !C9 U+00C9 Eacute 504 !CA U+00CA Ecircumflex 505 !CB U+00CB Edieresis 506 !CC U+00CC Igrave 507 !CD U+00CD Iacute 508 !CE U+00CE Icircumflex 509 !CF U+00CF Idieresis 510 !D0 U+00D0 Eth 511 !D1 U+00D1 Ntilde 512 !D2 U+00D2 Ograve 513 !D3 U+00D3 Oacute 514 !D4 U+00D4 Ocircumflex 515 !D5 U+00D5 Otilde 516 !D6 U+00D6 Odieresis 517 !D7 U+00D7 multiply 518 !D8 U+00D8 Oslash 519 !D9 U+00D9 Ugrave 520 !DA U+00DA Uacute 521 !DB U+00DB Ucircumflex 522 !DC U+00DC Udieresis 523 !DD U+00DD Yacute 524 !DE U+00DE Thorn 525 !DF U+00DF germandbls 526 !E0 U+00E0 agrave 527 !E1 U+00E1 aacute 528 !E2 U+00E2 acircumflex 529 !E3 U+00E3 atilde 530 !E4 U+00E4 adieresis 531 !E5 U+00E5 aring 532 !E6 U+00E6 ae 533 !E7 U+00E7 ccedilla 534 !E8 U+00E8 egrave 535 !E9 U+00E9 eacute 536 !EA U+00EA ecircumflex 537 !EB U+00EB edieresis 538 !EC U+00EC igrave 539 !ED U+00ED iacute 540 !EE U+00EE icircumflex 541 !EF U+00EF idieresis 542 !F0 U+00F0 eth 543 !F1 U+00F1 ntilde 544 !F2 U+00F2 ograve 545 !F3 U+00F3 oacute 546 !F4 U+00F4 ocircumflex 547 !F5 U+00F5 otilde 548 !F6 U+00F6 odieresis 549 !F7 U+00F7 divide 550 !F8 U+00F8 oslash 551 !F9 U+00F9 ugrave 552 !FA U+00FA uacute 553 !FB U+00FB ucircumflex 554 !FC U+00FC udieresis 555 !FD U+00FD yacute 556 !FE U+00FE thorn 557 !FF U+00FF ydieresis 558 `, 559 }