Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Side by Side Diff: experimental/PdfViewer/autogen/pdfspec_autogen.py

Issue 18117005: more work on pdf fonts, more to come (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 import datatypes 1 import datatypes
2 2
3 def buildPdfSpec(pdfspec): 3 def buildPdfSpec(pdfspec):
4 pdfspec.addClass('StreamCommonDictionary', 'Dictionary', 'Entries common to al l stream dictionaries')\ 4 pdfspec.addClass('StreamCommonDictionary', 'Dictionary', 'Entries common to al l stream dictionaries')\
5 .required('NULL')\ 5 .required('NULL')\
6 .field('Length')\ 6 .field('Length')\
7 .name('Length')\ 7 .name('Length')\
8 .type('integer')\ 8 .type('integer')\
9 .comment('(Required) The number of bytes from the beginning of the lin e fol-\nlowing the keyword stream to the last byte just before the keyword\nends tream. (There may be an additional EOL marker, preceding\nendstream, that is not included in the count and is not logically part\nof the stream data.) See "Stre am Extent," above, for further discus-\nsion.')\ 9 .comment('(Required) The number of bytes from the beginning of the lin e fol-\nlowing the keyword stream to the last byte just before the keyword\nends tream. (There may be an additional EOL marker, preceding\nendstream, that is not included in the count and is not logically part\nof the stream data.) See "Stre am Extent," above, for further discus-\nsion.')\
10 .done().done()\ 10 .done().done()\
(...skipping 1754 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 .done().done()\ 1765 .done().done()\
1766 .optional()\ 1766 .optional()\
1767 .field('Widths')\ 1767 .field('Widths')\
1768 .name('Widths')\ 1768 .name('Widths')\
1769 .type('array')\ 1769 .type('array')\
1770 .comment('(Required except for the standard 14 fonts; indirect referen ce preferred) An array\nof (LastChar - FirstChar + 1) widths, each element being the glyph width for\nthe character whose code is FirstChar plus the array index . For character\ncodes outside the range FirstChar to LastChar, the value of Mis singWidth from\nthe FontDescriptor entry for this font is used. The glyph widths are measured\nin units in which 1000 units corresponds to 1 unit in text space. These widths\nmust be consistent with the actual widths given in the font progr am itself.\n(See implementation note 43 in Appendix H.) For more information on\ nglyph widths and other glyph metrics, see Section 5.1.3, "Glyph Positioning\nan d Metrics."')\ 1770 .comment('(Required except for the standard 14 fonts; indirect referen ce preferred) An array\nof (LastChar - FirstChar + 1) widths, each element being the glyph width for\nthe character whose code is FirstChar plus the array index . For character\ncodes outside the range FirstChar to LastChar, the value of Mis singWidth from\nthe FontDescriptor entry for this font is used. The glyph widths are measured\nin units in which 1000 units corresponds to 1 unit in text space. These widths\nmust be consistent with the actual widths given in the font progr am itself.\n(See implementation note 43 in Appendix H.) For more information on\ nglyph widths and other glyph metrics, see Section 5.1.3, "Glyph Positioning\nan d Metrics."')\
1771 .done().done()\ 1771 .done().done()\
1772 .optional()\ 1772 .optional()\
1773 .field('FontDescriptor')\ 1773 .field('FontDescriptor')\
1774 .name('FontDescriptor')\ 1774 .name('FontDescriptor')\
1775 .type('dictionary')\ 1775 .type('FontDescriptorDictionary')\
1776 .comment('(Required except for the standard 14 fonts; must be an indir ect reference) A font\ndescriptor describing the font\'s metrics other than its glyph widths (see Sec-\ntion 5.7, "Font Descriptors").\n Note: For the standar d 14 fonts, the entries FirstChar, LastChar, Widths, and\n FontDescriptor must either all be present or all absent. Ordinarily, they are ab-\n sent; specify ing them enables a standard font to be overridden (see "Standard\n Type 1 Font s," below).')\ 1776 .comment('(Required except for the standard 14 fonts; must be an indir ect reference) A font\ndescriptor describing the font\'s metrics other than its glyph widths (see Sec-\ntion 5.7, "Font Descriptors").\n Note: For the standar d 14 fonts, the entries FirstChar, LastChar, Widths, and\n FontDescriptor must either all be present or all absent. Ordinarily, they are ab-\n sent; specify ing them enables a standard font to be overridden (see "Standard\n Type 1 Font s," below).')\
1777 .done().done()\ 1777 .done().done()\
1778 .optional()\ 1778 .optional()\
1779 .field('Encoding')\ 1779 .field('Encoding')\
1780 .name('Encoding')\ 1780 .name('Encoding')\
1781 .type('name or dictionary')\ 1781 .type('name or dictionary')\
1782 .comment('(Optional) A specification of the font\'s character encoding , if different from\nits built-in encoding. The value of Encoding may be either the name of a pre-\ndefined encoding (MacRomanEncoding, MacExpertEncoding, or Wi nAnsi-\nEncoding, as described in Appendix D) or an encoding dictionary that\nsp ecifies differences from the font\'s built-in encoding or from a specified pre-\ ndefined encoding (see Section 5.5.5, "Character Encoding").')\ 1782 .comment('(Optional) A specification of the font\'s character encoding , if different from\nits built-in encoding. The value of Encoding may be either the name of a pre-\ndefined encoding (MacRomanEncoding, MacExpertEncoding, or Wi nAnsi-\nEncoding, as described in Appendix D) or an encoding dictionary that\nsp ecifies differences from the font\'s built-in encoding or from a specified pre-\ ndefined encoding (see Section 5.5.5, "Character Encoding").')\
1783 .done().done()\ 1783 .done().done()\
1784 .optional()\ 1784 .optional()\
1785 .field('ToUnicode')\ 1785 .field('ToUnicode')\
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1900 .comment('(Required) A string that uniquely names the character collec tion within the speci-\nfied registry-for example, Japan1.')\ 1900 .comment('(Required) A string that uniquely names the character collec tion within the speci-\nfied registry-for example, Japan1.')\
1901 .done().done()\ 1901 .done().done()\
1902 .required('NULL')\ 1902 .required('NULL')\
1903 .field('Supplement')\ 1903 .field('Supplement')\
1904 .name('Supplement')\ 1904 .name('Supplement')\
1905 .type('integer')\ 1905 .type('integer')\
1906 .comment('(Required) The supplement number of the character collection . An original charac-\nter collection has a supplement number of 0. Whenever add itional CIDs are\nassigned in a character collection, the supplement number is i ncreased. Supple-\nments do not alter the ordering of existing CIDs in the chara cter collection. This\nvalue is not used in determining compatibility between ch aracter collections.')\ 1906 .comment('(Required) The supplement number of the character collection . An original charac-\nter collection has a supplement number of 0. Whenever add itional CIDs are\nassigned in a character collection, the supplement number is i ncreased. Supple-\nments do not alter the ordering of existing CIDs in the chara cter collection. This\nvalue is not used in determining compatibility between ch aracter collections.')\
1907 .done().done()\ 1907 .done().done()\
1908 .done() 1908 .done()
1909 1909
1910 pdfspec.addClass('CIDFontDictionary', 'FontDictionary', 'Entries in a CIDFont dictionary')\ 1910 pdfspec.addClass('CIDFontDictionary', 'Dictionary', 'Entries in a CIDFont dict ionary')\
1911 .required('NULL')\ 1911 .required('NULL')\
1912 .field('Type')\ 1912 .field('Type')\
1913 .name('Type')\ 1913 .name('Type')\
1914 .type('name')\ 1914 .type('name')\
1915 .comment('(Required) The type of PDF object that this dictionary descr ibes; must be\nFont for a CIDFont dictionary.')\ 1915 .comment('(Required) The type of PDF object that this dictionary descr ibes; must be\nFont for a CIDFont dictionary.')\
1916 .done().done()\ 1916 .done().done()\
1917 .required('NULL')\ 1917 .required('NULL')\
1918 .field('Subtype')\ 1918 .field('Subtype')\
1919 .name('Subtype')\ 1919 .name('Subtype')\
1920 .type('name')\ 1920 .type('name')\
1921 .comment('(Required) The type of CIDFont; CIDFontType0 or CIDFontType2 .')\ 1921 .comment('(Required) The type of CIDFont; CIDFontType0 or CIDFontType2 .')\
1922 .must([datatypes.PdfName('CIDFontType0'), datatypes.PdfName('CIDFontTy pe2')])\ 1922 .must([datatypes.PdfName('CIDFontType0'), datatypes.PdfName('CIDFontTy pe2')])\
1923 .done().done()\ 1923 .done().done()\
1924 .required('NULL')\ 1924 .required('NULL')\
1925 .field('BaseFont')\ 1925 .field('BaseFont')\
1926 .name('BaseFont')\ 1926 .name('BaseFont')\
1927 .type('name')\ 1927 .type('name')\
1928 .comment('(Required) The PostScript name of the CIDFont. For Type 0 CI DFonts, this\nis usually the value of the CIDFontName entry in the CIDFont progr am. For\nType 2 CIDFonts, it is derived the same way as for a simple TrueType fo nt;\nsee Section 5.5.2, "TrueType Fonts." In either case, the name can have a su b-\nset prefix if appropriate; see Section 5.5.3, "Font Subsets."')\ 1928 .comment('(Required) The PostScript name of the CIDFont. For Type 0 CI DFonts, this\nis usually the value of the CIDFontName entry in the CIDFont progr am. For\nType 2 CIDFonts, it is derived the same way as for a simple TrueType fo nt;\nsee Section 5.5.2, "TrueType Fonts." In either case, the name can have a su b-\nset prefix if appropriate; see Section 5.5.3, "Font Subsets."')\
1929 .done().done()\ 1929 .done().done()\
1930 .required('NULL')\ 1930 .required('NULL')\
1931 .field('CIDSystemInfo')\ 1931 .field('CIDSystemInfo')\
1932 .name('CIDSystemInfo')\ 1932 .name('CIDSystemInfo')\
1933 .type('dictionary')\ 1933 .type('dictionary')\
1934 .comment('(Required) A dictionary containing entries that define the c haracter collec-\ntion of the CIDFont. See Table 5.12 on page 337.')\ 1934 .comment('(Required) A dictionary containing entries that define the c haracter collec-\ntion of the CIDFont. See Table 5.12 on page 337.')\
1935 .done().done()\ 1935 .done().done()\
1936 .optional()\ 1936 .optional()\
1937 .field('FontDescriptor')\ 1937 .field('FontDescriptor')\
1938 .name('FontDescriptor')\ 1938 .name('FontDescriptor')\
1939 .type('dictionary')\ 1939 .type('FontDescriptorDictionary')\
1940 .comment('(Required; must be an indirect reference) A font descriptor describing the\nCIDFont\'s default metrics other than its glyph widths (see Sect ion 5.7,\n"Font Descriptors").')\ 1940 .comment('(Required; must be an indirect reference) A font descriptor describing the\nCIDFont\'s default metrics other than its glyph widths (see Sect ion 5.7,\n"Font Descriptors").')\
1941 .done().done()\ 1941 .done().done()\
1942 .optional()\ 1942 .optional()\
1943 .field('DW')\ 1943 .field('DW')\
1944 .name('DW')\ 1944 .name('DW')\
1945 .type('integer')\ 1945 .type('integer')\
1946 .comment('(Optional) The default width for glyphs in the CIDFont (see "Glyph Met-\nrics in CIDFonts" on page 340). Default value: 1000.')\ 1946 .comment('(Optional) The default width for glyphs in the CIDFont (see "Glyph Met-\nrics in CIDFonts" on page 340). Default value: 1000.')\
1947 .done().done()\ 1947 .done().done()\
1948 .optional()\ 1948 .optional()\
1949 .field('W')\ 1949 .field('W')\
(...skipping 3621 matching lines...) Expand 10 before | Expand all | Expand 10 after
5571 knowTypes['FreeTextAnnotationDictionary'] = ['SkPdfFreeTextAnnotationDictionar y*', 'FreeTextAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->po dofo()->GetDataType() == ePdfDataType_Dictionary'] 5571 knowTypes['FreeTextAnnotationDictionary'] = ['SkPdfFreeTextAnnotationDictionar y*', 'FreeTextAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->po dofo()->GetDataType() == ePdfDataType_Dictionary']
5572 knowTypes['ALinkAnnotationDictionary'] = ['SkPdfALinkAnnotationDictionary*', ' ALinkAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->G etDataType() == ePdfDataType_Dictionary'] 5572 knowTypes['ALinkAnnotationDictionary'] = ['SkPdfALinkAnnotationDictionary*', ' ALinkAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->G etDataType() == ePdfDataType_Dictionary']
5573 knowTypes['TextAnnotationDictionary'] = ['SkPdfTextAnnotationDictionary*', 'Te xtAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetD ataType() == ePdfDataType_Dictionary'] 5573 knowTypes['TextAnnotationDictionary'] = ['SkPdfTextAnnotationDictionary*', 'Te xtAnnotationDictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetD ataType() == ePdfDataType_Dictionary']
5574 knowTypes['WebCapturePageSetDictionary'] = ['SkPdfWebCapturePageSetDictionary* ', 'WebCapturePageSetDictionaryFromDictionary', datatypes.CppNull(), 'ret->podof o()->GetDataType() == ePdfDataType_Dictionary'] 5574 knowTypes['WebCapturePageSetDictionary'] = ['SkPdfWebCapturePageSetDictionary* ', 'WebCapturePageSetDictionaryFromDictionary', datatypes.CppNull(), 'ret->podof o()->GetDataType() == ePdfDataType_Dictionary']
5575 knowTypes['AppearanceDictionary'] = ['SkPdfAppearanceDictionary*', 'Appearance DictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetDataType() == ePdfDataType_Dictionary'] 5575 knowTypes['AppearanceDictionary'] = ['SkPdfAppearanceDictionary*', 'Appearance DictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetDataType() == ePdfDataType_Dictionary']
5576 knowTypes['CIDFontDescriptorDictionary'] = ['SkPdfCIDFontDescriptorDictionary* ', 'CIDFontDescriptorDictionaryFromDictionary', datatypes.CppNull(), 'ret->podof o()->GetDataType() == ePdfDataType_Dictionary'] 5576 knowTypes['CIDFontDescriptorDictionary'] = ['SkPdfCIDFontDescriptorDictionary* ', 'CIDFontDescriptorDictionaryFromDictionary', datatypes.CppNull(), 'ret->podof o()->GetDataType() == ePdfDataType_Dictionary']
5577 knowTypes['EmbeddedFontStreamDictionary'] = ['SkPdfEmbeddedFontStreamDictionar y*', 'EmbeddedFontStreamDictionaryFromDictionary', datatypes.CppNull(), 'ret->po dofo()->GetDataType() == ePdfDataType_Dictionary'] 5577 knowTypes['EmbeddedFontStreamDictionary'] = ['SkPdfEmbeddedFontStreamDictionar y*', 'EmbeddedFontStreamDictionaryFromDictionary', datatypes.CppNull(), 'ret->po dofo()->GetDataType() == ePdfDataType_Dictionary']
5578 knowTypes['AnnotationDictionary'] = ['SkPdfAnnotationDictionary*', 'Annotation DictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetDataType() == ePdfDataType_Dictionary'] 5578 knowTypes['AnnotationDictionary'] = ['SkPdfAnnotationDictionary*', 'Annotation DictionaryFromDictionary', datatypes.CppNull(), 'ret->podofo()->GetDataType() == ePdfDataType_Dictionary']
5579 5579
5580 5580
OLDNEW
« no previous file with comments | « experimental/PdfViewer/autogen/SkPdfXObjectDictionary_autogen.cpp ('k') | experimental/PdfViewer/generate_code.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698