pdf-rs 0.1.7-dev

A PDF parsing library written in Rust
Documentation
/// MacRomanEncoding as defined in Adobe Tech Note #5014 and ISO 32000
const MAC_ROMAN_ENCODING: [EncodingEntry; 256] = [
    // 0-31: Control characters
    (0, ".notdef", None), (1, ".notdef", None), (2, ".notdef", None), (3, ".notdef", None),
    (4, ".notdef", None), (5, ".notdef", None), (6, ".notdef", None), (7, ".notdef", None),
    (8, ".notdef", None), (9, "tab", Some('\t')), (10, "lf", Some('\n')), (11, ".notdef", None),
    (12, "ff", Some('\x0C')), (13, "cr", Some('\r')), (14, ".notdef", None), (15, ".notdef", None),
    (16, ".notdef", None), (17, ".notdef", None), (18, ".notdef", None), (19, ".notdef", None),
    (20, ".notdef", None), (21, ".notdef", None), (22, ".notdef", None), (23, ".notdef", None),
    (24, ".notdef", None), (25, ".notdef", None), (26, ".notdef", None), (27, ".notdef", None),
    (28, ".notdef", None), (29, ".notdef", None), (30, ".notdef", None), (31, ".notdef", None),

    // 32-63: Printable ASCII
    (32, "space", Some(' ')), (33, "exclam", Some('!')), (34, "quotedbl", Some('"')),
    (35, "numbersign", Some('#')), (36, "dollar", Some('$')), (37, "percent", Some('%')),
    (38, "ampersand", Some('&')), (39, "quoteright", Some('\'')), (40, "parenleft", Some('(')),
    (41, "parenright", Some(')')), (42, "asterisk", Some('*')), (43, "plus", Some('+')),
    (44, "comma", Some(',')), (45, "hyphen", Some('-')), (46, "period", Some('.')),
    (47, "slash", Some('/')), (48, "zero", Some('0')), (49, "one", Some('1')),
    (50, "two", Some('2')), (51, "three", Some('3')), (52, "four", Some('4')),
    (53, "five", Some('5')), (54, "six", Some('6')), (55, "seven", Some('7')),
    (56, "eight", Some('8')), (57, "nine", Some('9')), (58, "colon", Some(':')),
    (59, "semicolon", Some(';')), (60, "less", Some('<')), (61, "equal", Some('=')),
    (62, "greater", Some('>')), (63, "question", Some('?')),

    // 64-95: Upper letters & symbols
    (64, "at", Some('@')), (65, "A", Some('A')), (66, "B", Some('B')),
    (67, "C", Some('C')), (68, "D", Some('D')), (69, "E", Some('E')),
    (70, "F", Some('F')), (71, "G", Some('G')), (72, "H", Some('H')),
    (73, "I", Some('I')), (74, "J", Some('J')), (75, "K", Some('K')),
    (76, "L", Some('L')), (77, "M", Some('M')), (78, "N", Some('N')),
    (79, "O", Some('O')), (80, "P", Some('P')), (81, "Q", Some('Q')),
    (82, "R", Some('R')), (83, "S", Some('S')), (84, "T", Some('T')),
    (85, "U", Some('U')), (86, "V", Some('V')), (87, "W", Some('W')),
    (88, "X", Some('X')), (89, "Y", Some('Y')), (90, "Z", Some('Z')),
    (91, "bracketleft", Some('[')), (92, "backslash", Some('\\')),
    (93, "bracketright", Some(']')), (94, "asciicircum", Some('^')),
    (95, "underscore", Some('_')),

    // 96-127: Lowercase & tilde
    (96, "quoteleft", Some('`')), (97, "a", Some('a')), (98, "b", Some('b')),
    (99, "c", Some('c')), (100, "d", Some('d')), (101, "e", Some('e')),
    (102, "f", Some('f')), (103, "g", Some('g')), (104, "h", Some('h')),
    (105, "i", Some('i')), (106, "j", Some('j')), (107, "k", Some('k')),
    (108, "l", Some('l')), (109, "m", Some('m')), (110, "n", Some('n')),
    (111, "o", Some('o')), (112, "p", Some('p')), (113, "q", Some('q')),
    (114, "r", Some('r')), (115, "s", Some('s')), (116, "t", Some('t')),
    (117, "u", Some('u')), (118, "v", Some('v')), (119, "w", Some('w')),
    (120, "x", Some('x')), (121, "y", Some('y')), (122, "z", Some('z')),
    (123, "braceleft", Some('{')), (124, "bar", Some('|')),
    (125, "braceright", Some('}')), (126, "asciitilde", Some('~')),
    (127, ".notdef", None),

    // 128-159: Accented Latin + special
    (128, "Adieresis", Some('Ä')), (129, "Aring", Some('Å')), (130, "Ccedilla", Some('Ç')),
    (131, "Eacute", Some('É')), (132, "Ntilde", Some('Ñ')), (133, "Odieresis", Some('Ö')),
    (134, "Udieresis", Some('Ü')), (135, "aacute", Some('á')), (136, "agrave", Some('à')),
    (137, "acircumflex", Some('â')), (138, "adieresis", Some('ä')), (139, "atilde", Some('ã')),
    (140, "aring", Some('å')), (141, "ccedilla", Some('ç')), (142, "eacute", Some('é')),
    (143, "egrave", Some('è')), (144, "ecircumflex", Some('ê')), (145, "edieresis", Some('ë')),
    (146, "iacute", Some('í')), (147, "igrave", Some('ì')), (148, "icircumflex", Some('î')),
    (149, "idieresis", Some('ï')), (150, "ntilde", Some('ñ')), (151, "oacute", Some('ó')),
    (152, "ograve", Some('ò')), (153, "ocircumflex", Some('ô')), (154, "odieresis", Some('ö')),
    (155, "otilde", Some('õ')), (156, "uacute", Some('ú')), (157, "ugrave", Some('ù')),
    (158, "ucircumflex", Some('û')), (159, "udieresis", Some('ü')),

    // 160-191: Symbols, fractions, spaces
    (160, "space", Some('\u{00A0}')), // non-breaking space
    (161, "exclamdown", Some('¡')), (162, "cent", Some('¢')), (163, "sterling", Some('£')),
    (164, "currency", Some('¤')), (165, "yen", Some('¥')), (166, "brokenbar", Some('¦')),
    (167, "section", Some('§')), (168, "dieresis", Some('¨')), (169, "copyright", Some('©')),
    (170, "ordfeminine", Some('ª')), (171, "guillemotleft", Some('«')), (172, "logicalnot", Some('¬')),
    (173, "hyphen", Some('\u{00AD}')), (174, "registered", Some('®')), (175, "macron", Some('¯')),
    (176, "degree", Some('°')), (177, "plusminus", Some('±')), (178, "twosuperior", Some('²')),
    (179, "threesuperior", Some('³')), (180, "acute", Some('´')), (181, "mu", Some('µ')),
    (182, "paragraph", Some('¶')), (183, "periodcentered", Some('·')), (184, "cedilla", Some('¸')),
    (185, "onesuperior", Some('¹')), (186, "ordmasculine", Some('º')), (187, "guillemotright", Some('»')),
    (188, "onequarter", Some('¼')), (189, "onehalf", Some('½')), (190, "threequarters", Some('¾')),
    (191, "questiondown", Some('¿')),

    // 192-223: More accented + punctuation
    (192, "Agrave", Some('À')), (193, "Atilde", Some('Ã')), (194, "Otilde", Some('Õ')),
    (195, "OE", Some('Œ')), (196, "oe", Some('œ')), (197, "endash", Some('–')),
    (198, "emdash", Some('—')), (199, "quotedblleft", Some('“')), (200, "quotedblright", Some('”')),
    (201, "quoteleft", Some('‘')), (202, "quoteright", Some('’')), (203, "divide", Some('÷')),
    (204, "lozenge", Some('◊')), (205, "ydieresis", Some('ÿ')), (206, "Ydieresis", Some('Ÿ')),
    (207, "fractional", Some('/')), // or use U+2044?
    (208, "infinity", Some('∞')), (209, "integral", Some('∫')), (210, "approxequal", Some('≈')),
    (211, "subset", Some('⊂')), (212, "superset", Some('⊃')), (213, "emptyset", Some('∅')),
    (214, "intersection", Some('∩')), (215, "union", Some('∪')), (216, "propersubset", Some('⊊')),
    (217, "propersuperset", Some('⊋')), (218, "partialdiff", Some('∂')), (219, "summation", Some('∑')),
    (220, "product", Some('∏')), (221, "pi", Some('π')), (222, "radical", Some('√')),
    (223, "logicalnot", Some('¬')),

    // 224-255: Math, accents, music, final
    (224, "flat", Some('♭')), (225, "sharp", Some('♯')), (226, "circle", Some('○')),
    (227, "bulletoperator", Some('∙')), (228, "quotesinglbase", Some('‚')), (229, "quotedblbase", Some('„')),
    (230, "perthousand", Some('‰')), (231, "Acircumflex", Some('Â')), (232, "Ecircumflex", Some('Ê')),
    (233, "Aacute", Some('Á')), (234, "Edieresis", Some('Ë')), (235, "Egrave", Some('È')),
    (236, "Icircumflex", Some('Î')), (237, "Idieresis", Some('Ï')), (238, "Iacute", Some('Í')),
    (239, "Igrave", Some('Ì')), (240, "Ocircumflex", Some('Ô')), (241, "Oacute", Some('Ó')),
    (242, "Ograve", Some('Ò')), (243, "Ucircumflex", Some('Û')), (244, "Uacute", Some('Ú')),
    (245, "Ugrave", Some('Ù')), (246, "dotlessi", Some('\u{0131}')), (247, "circumflex", Some('ˆ')),
    (248, "tilde", Some('˜')), (249, "macron", Some('¯')), (250, "breve", Some('˘')),
    (251, "dotaccent", Some('˙')), (252, "ring", Some('˚')), (253, "cedilla", Some('¸')),
    (254, "hungarumlaut", Some('˝')), (255, "yacute", Some('ý')),
];