From 672b9afb9bb05a67bbcd8664ba268521ea728ca6 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 13 Nov 2018 21:49:56 +0100 Subject: Add more encoding tables. Add tables for Windows-1250, Windows-1251, and ISO-8859-1. Also add unicode_from_encoding tables. Move encodings from PDF namespace to Fitz. --- source/pdf/pdf-encodings.h | 203 --------------------------------------------- 1 file changed, 203 deletions(-) (limited to 'source/pdf/pdf-encodings.h') diff --git a/source/pdf/pdf-encodings.h b/source/pdf/pdf-encodings.h index f9e84c49..efdfe1f7 100644 --- a/source/pdf/pdf-encodings.h +++ b/source/pdf/pdf-encodings.h @@ -166,206 +166,3 @@ const char *pdf_mac_expert[256] = { "periodsuperior", "Dotaccentsmall", "Ringsmall", _notdef, _notdef, _notdef, _notdef }; - -const char *pdf_win_ansi[256] = { - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", - "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", - "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", - "three", "four", "five", "six", "seven", "eight", "nine", "colon", - "semicolon", "less", "equal", "greater", "question", "at", "A", "B", - "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", - "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", - "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", - "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", - "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", "bullet", "Euro", "bullet", - "quotesinglbase", "florin", "quotedblbase", "ellipsis", "dagger", - "daggerdbl", "circumflex", "perthousand", "Scaron", "guilsinglleft", - "OE", "bullet", "Zcaron", "bullet", "bullet", "quoteleft", - "quoteright", "quotedblleft", "quotedblright", "bullet", "endash", - "emdash", "tilde", "trademark", "scaron", "guilsinglright", "oe", - "bullet", "zcaron", "Ydieresis", "space", "exclamdown", "cent", - "sterling", "currency", "yen", "brokenbar", "section", "dieresis", - "copyright", "ordfeminine", "guillemotleft", "logicalnot", "hyphen", - "registered", "macron", "degree", "plusminus", "twosuperior", - "threesuperior", "acute", "mu", "paragraph", "periodcentered", - "cedilla", "onesuperior", "ordmasculine", "guillemotright", - "onequarter", "onehalf", "threequarters", "questiondown", "Agrave", - "Aacute", "Acircumflex", "Atilde", "Adieresis", "Aring", "AE", - "Ccedilla", "Egrave", "Eacute", "Ecircumflex", "Edieresis", "Igrave", - "Iacute", "Icircumflex", "Idieresis", "Eth", "Ntilde", "Ograve", - "Oacute", "Ocircumflex", "Otilde", "Odieresis", "multiply", "Oslash", - "Ugrave", "Uacute", "Ucircumflex", "Udieresis", "Yacute", "Thorn", - "germandbls", "agrave", "aacute", "acircumflex", "atilde", "adieresis", - "aring", "ae", "ccedilla", "egrave", "eacute", "ecircumflex", - "edieresis", "igrave", "iacute", "icircumflex", "idieresis", "eth", - "ntilde", "ograve", "oacute", "ocircumflex", "otilde", "odieresis", - "divide", "oslash", "ugrave", "uacute", "ucircumflex", "udieresis", - "yacute", "thorn", "ydieresis" -}; - -const char *pdf_glyph_name_from_koi8u[256] = { - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", - "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", - "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", - "three", "four", "five", "six", "seven", "eight", "nine", "colon", - "semicolon", "less", "equal", "greater", "question", "at", "A", "B", - "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", - "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", - "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", - "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", - "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, "integraltp", _notdef, "bulletoperator", - "radical", "approxequal", "lessequal", "greaterequal", - "nonbreakingspace", "integralbt", "degree", "twosuperior", - "periodcentered", "divide", _notdef, _notdef, _notdef, "iocyrillic", - "ecyrillic", _notdef, "icyrillic", "yicyrillic", _notdef, _notdef, - _notdef, _notdef, _notdef, "gheupturncyrillic", _notdef, _notdef, - _notdef, _notdef, _notdef, "afii10023", "afii10053", _notdef, - "afii10055", "afii10056", _notdef, _notdef, _notdef, _notdef, _notdef, - "afii10050", _notdef, "copyright", "iucyrillic", "afii10065", - "becyrillic", "tsecyrillic", "decyrillic", "iecyrillic", "efcyrillic", - "gecyrillic", "khacyrillic", "iicyrillic", "iishortcyrillic", - "kacyrillic", "elcyrillic", "emcyrillic", "encyrillic", "ocyrillic", - "pecyrillic", "iacyrillic", "ercyrillic", "escyrillic", "tecyrillic", - "ucyrillic", "zhecyrillic", "vecyrillic", "softsigncyrillic", - "yericyrillic", "zecyrillic", "shacyrillic", "ereversedcyrillic", - "shchacyrillic", "checyrillic", "hardsigncyrillic", "afii10048", - "afii10017", "afii10018", "afii10040", "afii10021", "afii10022", - "afii10038", "afii10020", "afii10039", "afii10026", "afii10027", - "afii10028", "afii10029", "afii10030", "afii10031", "afii10032", - "afii10033", "afii10049", "afii10034", "afii10035", "afii10036", - "afii10037", "afii10024", "afii10019", "afii10046", "afii10045", - "afii10025", "afii10042", "afii10047", "afii10043", "afii10041", - "afii10044", -}; - -static const struct { unsigned short u, c; } koi8u_from_unicode[] = { - {0x00a0,154}, {0x00a9,191}, {0x00b0,156}, {0x00b2,157}, {0x00b7,158}, - {0x00f7,159}, {0x0401,179}, {0x0404,180}, {0x0406,182}, {0x0407,183}, - {0x0410,225}, {0x0411,226}, {0x0412,247}, {0x0413,231}, {0x0414,228}, - {0x0415,229}, {0x0416,246}, {0x0417,250}, {0x0418,233}, {0x0419,234}, - {0x041a,235}, {0x041b,236}, {0x041c,237}, {0x041d,238}, {0x041e,239}, - {0x041f,240}, {0x0420,242}, {0x0421,243}, {0x0422,244}, {0x0423,245}, - {0x0424,230}, {0x0425,232}, {0x0426,227}, {0x0427,254}, {0x0428,251}, - {0x0429,253}, {0x042a,255}, {0x042b,249}, {0x042c,248}, {0x042d,252}, - {0x042e,224}, {0x042f,241}, {0x0430,193}, {0x0431,194}, {0x0432,215}, - {0x0433,199}, {0x0434,196}, {0x0435,197}, {0x0436,214}, {0x0437,218}, - {0x0438,201}, {0x0439,202}, {0x043a,203}, {0x043b,204}, {0x043c,205}, - {0x043d,206}, {0x043e,207}, {0x043f,208}, {0x0440,210}, {0x0441,211}, - {0x0442,212}, {0x0443,213}, {0x0444,198}, {0x0445,200}, {0x0446,195}, - {0x0447,222}, {0x0448,219}, {0x0449,221}, {0x044a,223}, {0x044b,217}, - {0x044c,216}, {0x044d,220}, {0x044e,192}, {0x044f,209}, {0x0451,163}, - {0x0454,164}, {0x0456,166}, {0x0457,167}, {0x0490,189}, {0x0491,173}, - {0x2219,149}, {0x221a,150}, {0x2248,151}, {0x2264,152}, {0x2265,153}, - {0x2320,147}, {0x2321,155}, {0x2500,128}, {0x2502,129}, {0x250c,130}, - {0x2510,131}, {0x2514,132}, {0x2518,133}, {0x251c,134}, {0x2524,135}, - {0x252c,136}, {0x2534,137}, {0x253c,138}, {0x2550,160}, {0x2551,161}, - {0x2552,162}, {0x2554,165}, {0x2557,168}, {0x2558,169}, {0x2559,170}, - {0x255a,171}, {0x255b,172}, {0x255d,174}, {0x255e,175}, {0x255f,176}, - {0x2560,177}, {0x2561,178}, {0x2563,181}, {0x2566,184}, {0x2567,185}, - {0x2568,186}, {0x2569,187}, {0x256a,188}, {0x256c,190}, {0x2580,139}, - {0x2584,140}, {0x2588,141}, {0x258c,142}, {0x2590,143}, {0x2591,144}, - {0x2592,145}, {0x2593,146}, {0x25a0,148} -}; - -const char *pdf_glyph_name_from_iso8859_7[256] = { - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - "space", "exclam", "quotedbl", "numbersign", "dollar", "percent", - "ampersand", "quotesingle", "parenleft", "parenright", "asterisk", - "plus", "comma", "hyphen", "period", "slash", "zero", "one", "two", - "three", "four", "five", "six", "seven", "eight", "nine", "colon", - "semicolon", "less", "equal", "greater", "question", "at", "A", "B", - "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", - "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "bracketleft", - "backslash", "bracketright", "asciicircum", "underscore", "grave", "a", - "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", - "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "braceleft", - "bar", "braceright", "asciitilde", _notdef, - /* the block drawing characters have been omitted */ - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, _notdef, - "nonbreakingspace", "quoteleft", "quoteright", "sterling", "euro", - _notdef, "brokenbar", "section", "dieresis", "copyright", - "ypogegrammeni", "guillemotleft", "logicalnot", "softhyphen", _notdef, - "horizontalbar", "degree", "plusminus", "twosuperior", "threesuperior", - "tonos", "dieresistonos", "Alphatonos", "periodcentered", - "Epsilontonos", "Etatonos", "Iotatonos", "guillemotright", - "Omicrontonos", "onehalf", "Upsilontonos", "Omegatonos", - "iotadieresistonos", "Alpha", "Beta", "Gamma", "Deltagreek", "Epsilon", - "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", "Nu", "Xi", - "Omicron", "Pi", "Rho", _notdef, "Sigma", "Tau", "Upsilon", "Phi", - "Chi", "Psi", "Omegagreek", "Iotadieresis", "Upsilondieresis", - "alphatonos", "epsilontonos", "etatonos", "iotatonos", - "upsilondieresistonos", "alpha", "beta", "gamma", "delta", "epsilon", - "zeta", "eta", "theta", "iota", "kappa", "lambda", "mugreek", "nu", - "xi", "omicron", "pi", "rho", "sigmafinal", "sigma", "tau", "upsilon", - "phi", "chi", "psi", "omega", "iotadieresis", "upsilondieresis", - "omicrontonos", "upsilontonos", "omegatonos", _notdef, -}; - -static const struct { unsigned short u, c; } iso8859_7_from_unicode[] = { - {0x00a0,160}, {0x00a3,163}, {0x00a6,166}, {0x00a7,167}, {0x00a8,168}, - {0x00a9,169}, {0x00ab,171}, {0x00ac,172}, {0x00ad,173}, {0x00b0,176}, - {0x00b1,177}, {0x00b2,178}, {0x00b3,179}, {0x00b7,183}, {0x00bb,187}, - {0x00bd,189}, {0x037a,170}, {0x0384,180}, {0x0385,181}, {0x0386,182}, - {0x0388,184}, {0x0389,185}, {0x038a,186}, {0x038c,188}, {0x038e,190}, - {0x038f,191}, {0x0390,192}, {0x0391,193}, {0x0392,194}, {0x0393,195}, - {0x0394,196}, {0x0395,197}, {0x0396,198}, {0x0397,199}, {0x0398,200}, - {0x0399,201}, {0x039a,202}, {0x039b,203}, {0x039c,204}, {0x039d,205}, - {0x039e,206}, {0x039f,207}, {0x03a0,208}, {0x03a1,209}, {0x03a3,211}, - {0x03a4,212}, {0x03a5,213}, {0x03a6,214}, {0x03a7,215}, {0x03a8,216}, - {0x03a9,217}, {0x03aa,218}, {0x03ab,219}, {0x03ac,220}, {0x03ad,221}, - {0x03ae,222}, {0x03af,223}, {0x03b0,224}, {0x03b1,225}, {0x03b2,226}, - {0x03b3,227}, {0x03b4,228}, {0x03b5,229}, {0x03b6,230}, {0x03b7,231}, - {0x03b8,232}, {0x03b9,233}, {0x03ba,234}, {0x03bb,235}, {0x03bc,236}, - {0x03bd,237}, {0x03be,238}, {0x03bf,239}, {0x03c0,240}, {0x03c1,241}, - {0x03c2,242}, {0x03c3,243}, {0x03c4,244}, {0x03c5,245}, {0x03c6,246}, - {0x03c7,247}, {0x03c8,248}, {0x03c9,249}, {0x03ca,250}, {0x03cb,251}, - {0x03cc,252}, {0x03cd,253}, {0x03ce,254}, {0x2015,175}, {0x2018,161}, - {0x2019,162}, {0x20ac,164}, -}; - -static const struct { unsigned short u, c; } winansi_from_unicode[] = { - {0x00a0,160}, {0x00a1,161}, {0x00a2,162}, {0x00a3,163}, {0x00a4,164}, - {0x00a5,165}, {0x00a6,166}, {0x00a7,167}, {0x00a8,168}, {0x00a9,169}, - {0x00aa,170}, {0x00ab,171}, {0x00ac,172}, {0x00ad,173}, {0x00ae,174}, - {0x00af,175}, {0x00b0,176}, {0x00b1,177}, {0x00b2,178}, {0x00b3,179}, - {0x00b4,180}, {0x00b5,181}, {0x00b6,182}, {0x00b7,183}, {0x00b8,184}, - {0x00b9,185}, {0x00ba,186}, {0x00bb,187}, {0x00bc,188}, {0x00bd,189}, - {0x00be,190}, {0x00bf,191}, {0x00c0,192}, {0x00c1,193}, {0x00c2,194}, - {0x00c3,195}, {0x00c4,196}, {0x00c5,197}, {0x00c6,198}, {0x00c7,199}, - {0x00c8,200}, {0x00c9,201}, {0x00ca,202}, {0x00cb,203}, {0x00cc,204}, - {0x00cd,205}, {0x00ce,206}, {0x00cf,207}, {0x00d0,208}, {0x00d1,209}, - {0x00d2,210}, {0x00d3,211}, {0x00d4,212}, {0x00d5,213}, {0x00d6,214}, - {0x00d7,215}, {0x00d8,216}, {0x00d9,217}, {0x00da,218}, {0x00db,219}, - {0x00dc,220}, {0x00dd,221}, {0x00de,222}, {0x00df,223}, {0x00e0,224}, - {0x00e1,225}, {0x00e2,226}, {0x00e3,227}, {0x00e4,228}, {0x00e5,229}, - {0x00e6,230}, {0x00e7,231}, {0x00e8,232}, {0x00e9,233}, {0x00ea,234}, - {0x00eb,235}, {0x00ec,236}, {0x00ed,237}, {0x00ee,238}, {0x00ef,239}, - {0x00f0,240}, {0x00f1,241}, {0x00f2,242}, {0x00f3,243}, {0x00f4,244}, - {0x00f5,245}, {0x00f6,246}, {0x00f7,247}, {0x00f8,248}, {0x00f9,249}, - {0x00fa,250}, {0x00fb,251}, {0x00fc,252}, {0x00fd,253}, {0x00fe,254}, - {0x00ff,255}, {0x0152,140}, {0x0153,156}, {0x0160,138}, {0x0161,154}, - {0x0178,159}, {0x017d,142}, {0x017e,158}, {0x0192,131}, {0x02c6,136}, - {0x02dc,152}, {0x2013,150}, {0x2014,151}, {0x2018,145}, {0x2019,146}, - {0x201a,130}, {0x201c,147}, {0x201d,148}, {0x201e,132}, {0x2020,134}, - {0x2021,135}, {0x2022,149}, {0x2026,133}, {0x2030,137}, {0x2039,139}, - {0x203a,155}, {0x20ac,128}, {0x2122,153}, -}; -- cgit v1.2.3