diff options
Diffstat (limited to 'third_party/freetype-py/doc')
56 files changed, 2741 insertions, 0 deletions
diff --git a/third_party/freetype-py/doc/Makefile b/third_party/freetype-py/doc/Makefile new file mode 100644 index 0000000..00f9c4e --- /dev/null +++ b/third_party/freetype-py/doc/Makefile @@ -0,0 +1,130 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest + +help: + @echo "Please use \`make <target>' where <target> is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/FreetypePython.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/FreetypePython.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/FreetypePython" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/FreetypePython" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + make -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/third_party/freetype-py/doc/_static/G.png b/third_party/freetype-py/doc/_static/G.png Binary files differnew file mode 100644 index 0000000..80aaa3d --- /dev/null +++ b/third_party/freetype-py/doc/_static/G.png diff --git a/third_party/freetype-py/doc/_static/S.png b/third_party/freetype-py/doc/_static/S.png Binary files differnew file mode 100644 index 0000000..81ea28d --- /dev/null +++ b/third_party/freetype-py/doc/_static/S.png diff --git a/third_party/freetype-py/doc/_static/agg-trick.png b/third_party/freetype-py/doc/_static/agg-trick.png Binary files differnew file mode 100644 index 0000000..aa29b33 --- /dev/null +++ b/third_party/freetype-py/doc/_static/agg-trick.png diff --git a/third_party/freetype-py/doc/_static/hello-world.png b/third_party/freetype-py/doc/_static/hello-world.png Binary files differnew file mode 100644 index 0000000..f62d282 --- /dev/null +++ b/third_party/freetype-py/doc/_static/hello-world.png diff --git a/third_party/freetype-py/doc/_static/opengl.png b/third_party/freetype-py/doc/_static/opengl.png Binary files differnew file mode 100644 index 0000000..816d4da --- /dev/null +++ b/third_party/freetype-py/doc/_static/opengl.png diff --git a/third_party/freetype-py/doc/_static/outline.png b/third_party/freetype-py/doc/_static/outline.png Binary files differnew file mode 100644 index 0000000..1ed76a1 --- /dev/null +++ b/third_party/freetype-py/doc/_static/outline.png diff --git a/third_party/freetype-py/doc/_static/wordle.png b/third_party/freetype-py/doc/_static/wordle.png Binary files differnew file mode 100644 index 0000000..216a076 --- /dev/null +++ b/third_party/freetype-py/doc/_static/wordle.png diff --git a/third_party/freetype-py/doc/api.rst b/third_party/freetype-py/doc/api.rst new file mode 100644 index 0000000..74588eb --- /dev/null +++ b/third_party/freetype-py/doc/api.rst @@ -0,0 +1,20 @@ +=== +API +=== + +.. toctree:: + :maxdepth: 2 + + face.rst + bbox.rst + size_metrics.rst + bitmap_size.rst + bitmap.rst + charmap.rst + outline.rst + glyph.rst + bitmap_glyph.rst + glyph_slot.rst + sfnt_name.rst + stroker.rst + constants.rst diff --git a/third_party/freetype-py/doc/bbox.rst b/third_party/freetype-py/doc/bbox.rst new file mode 100644 index 0000000..89ce86c --- /dev/null +++ b/third_party/freetype-py/doc/bbox.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +BBox +==== +.. autoclass:: BBox + :members: diff --git a/third_party/freetype-py/doc/bitmap.rst b/third_party/freetype-py/doc/bitmap.rst new file mode 100644 index 0000000..c6ef17e --- /dev/null +++ b/third_party/freetype-py/doc/bitmap.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Bitmap +====== +.. autoclass:: Bitmap + :members: diff --git a/third_party/freetype-py/doc/bitmap_glyph.rst b/third_party/freetype-py/doc/bitmap_glyph.rst new file mode 100644 index 0000000..e73e642 --- /dev/null +++ b/third_party/freetype-py/doc/bitmap_glyph.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Bitmap glyph +============ +.. autoclass:: BitmapGlyph + :members: diff --git a/third_party/freetype-py/doc/bitmap_size.rst b/third_party/freetype-py/doc/bitmap_size.rst new file mode 100644 index 0000000..f4f1793 --- /dev/null +++ b/third_party/freetype-py/doc/bitmap_size.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Bitmap size +=========== +.. autoclass:: BitmapSize + :members: diff --git a/third_party/freetype-py/doc/charmap.rst b/third_party/freetype-py/doc/charmap.rst new file mode 100644 index 0000000..0e61c0f --- /dev/null +++ b/third_party/freetype-py/doc/charmap.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Charmap +======= +.. autoclass:: Charmap + :members: diff --git a/third_party/freetype-py/doc/conf.py b/third_party/freetype-py/doc/conf.py new file mode 100644 index 0000000..ca1888b --- /dev/null +++ b/third_party/freetype-py/doc/conf.py @@ -0,0 +1,224 @@ +# -*- coding: utf-8 -*- +# +# Freetype/Python documentation build configuration file, created by +# sphinx-quickstart on Wed Nov 9 16:29:54 2011. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = ['sphinx.ext.autodoc'] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Freetype python bindings' +copyright = u'2011-2014, Nicolas P. Rougier' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '0.4.1' +# The full version, including alpha/beta/rc tags. +release = '0.4.1' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org +on_rtd = os.environ.get('READTHEDOCS', None) == 'True' +# only import and set the theme if we're building docs locally +if not on_rtd: + import sphinx_rtd_theme + html_theme = 'sphinx_rtd_theme' + html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# "<project> v<release> documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a <link> tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'FreetypePythondoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +# The paper size ('letter' or 'a4'). +#latex_paper_size = 'letter' + +# The font size ('10pt', '11pt' or '12pt'). +#latex_font_size = '10pt' + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'FreetypePython.tex', u'Freetype Python Documentation', + u'Nicolas P. Rougier', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Additional stuff for the LaTeX preamble. +#latex_preamble = '' + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'freetypepython', u'Freetype Python Documentation', + [u'Nicolas P. Rougier'], 1) +] diff --git a/third_party/freetype-py/doc/constants.rst b/third_party/freetype-py/doc/constants.rst new file mode 100644 index 0000000..e36327a --- /dev/null +++ b/third_party/freetype-py/doc/constants.rst @@ -0,0 +1,31 @@ +Constants +========= + +.. toctree:: + :maxdepth: 1 + + ft_encodings.rst + ft_face_flags.rst + ft_fstypes.rst + ft_glyph_bbox_modes.rst + ft_glyph_formats.rst + ft_kerning_modes.rst + ft_lcd_filters.rst + ft_load_flags.rst + ft_load_targets.rst + ft_open_modes.rst + ft_outline_flags.rst + ft_pixel_modes.rst + ft_render_modes.rst + ft_stroker_borders.rst + ft_stroker_linecaps.rst + ft_stroker_linejoins.rst + ft_style_flags.rst + tt_adobe_ids.rst + tt_apple_ids.rst + tt_mac_ids.rst + tt_mac_langids.rst + tt_ms_ids.rst + tt_ms_langids.rst + tt_name_ids.rst + tt_platforms.rst diff --git a/third_party/freetype-py/doc/face.rst b/third_party/freetype-py/doc/face.rst new file mode 100644 index 0000000..625db5a --- /dev/null +++ b/third_party/freetype-py/doc/face.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Face +==== +.. autoclass:: Face + :members: diff --git a/third_party/freetype-py/doc/ft_encodings.rst b/third_party/freetype-py/doc/ft_encodings.rst new file mode 100644 index 0000000..fc53e30 --- /dev/null +++ b/third_party/freetype-py/doc/ft_encodings.rst @@ -0,0 +1,83 @@ +FT_ENCODINGS +============ + +An enumeration used to specify character sets supported by charmaps. Used in +the FT_Select_Charmap API function. + +.. data:: FT_ENCODING_NONE + + The encoding value 0 is reserved. + +.. data:: FT_ENCODING_UNICODE + + Corresponds to the Unicode character set. This value covers all versions of + the Unicode repertoire, including ASCII and Latin-1. Most fonts include a + Unicode charmap, but not all of them. + + For example, if you want to access Unicode value U+1F028 (and the font + contains it), use value 0x1F028 as the input value for FT_Get_Char_Index. + +.. data:: FT_ENCODING_MS_SYMBOL + + Corresponds to the Microsoft Symbol encoding, used to encode mathematical + symbols in the 32..255 character code range. For more information, see + 'http://www.ceviz.net/symbol.htm'. + +.. data:: FT_ENCODING_SJIS + + Corresponds to Japanese SJIS encoding. More info at at + 'http://langsupport.japanreference.com/encoding.shtml'. See note on + multi-byte encodings below. + +.. data:: FT_ENCODING_GB2312 + + Corresponds to an encoding system for Simplified Chinese as used used in + mainland China. + +.. data:: FT_ENCODING_BIG5 + + Corresponds to an encoding system for Traditional Chinese as used in Taiwan + and Hong Kong. + +.. data:: FT_ENCODING_WANSUNG + + Corresponds to the Korean encoding system known as Wansung. For more + information see 'http://www.microsoft.com/typography/unicode/949.txt'. + +.. data:: FT_ENCODING_JOHAB + + The Korean standard character set (KS C 5601-1992), which corresponds to MS + Windows code page 1361. This character set includes all possible Hangeul + character combinations. + +.. data:: FT_ENCODING_ADOBE_LATIN_1 + + Corresponds to a Latin-1 encoding as defined in a Type 1 PostScript font. It + is limited to 256 character codes. + +.. data:: FT_ENCODING_ADOBE_STANDARD + + Corresponds to the Adobe Standard encoding, as found in Type 1, CFF, and + OpenType/CFF fonts. It is limited to 256 character codes. + +.. data:: FT_ENCODING_ADOBE_EXPERT + + Corresponds to the Adobe Expert encoding, as found in Type 1, CFF, and + OpenType/CFF fonts. It is limited to 256 character codes. + +.. data:: FT_ENCODING_ADOBE_CUSTOM + + Corresponds to a custom encoding, as found in Type 1, CFF, and OpenType/CFF + fonts. It is limited to 256 character codes. + +.. data:: FT_ENCODING_APPLE_ROMAN + + Corresponds to the 8-bit Apple roman encoding. Many TrueType and OpenType + fonts contain a charmap for this encoding, since older versions of Mac OS are + able to use it. + +.. data:: FT_ENCODING_OLD_LATIN_2 + + This value is deprecated and was never used nor reported by FreeType. Don't + use or test for it. + diff --git a/third_party/freetype-py/doc/ft_face_flags.rst b/third_party/freetype-py/doc/ft_face_flags.rst new file mode 100644 index 0000000..ac303d8 --- /dev/null +++ b/third_party/freetype-py/doc/ft_face_flags.rst @@ -0,0 +1,111 @@ +FT_FACE_FLAGS +============= + +A list of bit flags used in the 'face_flags' field of the FT_FaceRec +structure. They inform client applications of properties of the corresponding +face. + + +.. data:: FT_FACE_FLAG_SCALABLE + + Indicates that the face contains outline glyphs. This doesn't prevent bitmap + strikes, i.e., a face can have both this and and FT_FACE_FLAG_FIXED_SIZES + set. + + +.. data:: FT_FACE_FLAG_FIXED_SIZES + + Indicates that the face contains bitmap strikes. See also the + 'num_fixed_sizes' and 'available_sizes' fields of FT_FaceRec. + + +.. data:: FT_FACE_FLAG_FIXED_WIDTH + + Indicates that the face contains fixed-width characters (like Courier, + Lucido, MonoType, etc.). + + +.. data:: FT_FACE_FLAG_SFNT + + Indicates that the face uses the 'sfnt' storage scheme. For now, this means + TrueType and OpenType. + + +.. data:: FT_FACE_FLAG_HORIZONTAL + + Indicates that the face contains horizontal glyph metrics. This should be set + for all common formats. + + +.. data:: FT_FACE_FLAG_VERTICAL + + Indicates that the face contains vertical glyph metrics. This is only + available in some formats, not all of them. + + +.. data:: FT_FACE_FLAG_KERNING + + Indicates that the face contains kerning information. If set, the kerning + distance can be retrieved through the function FT_Get_Kerning. Otherwise the + function always return the vector (0,0). Note that FreeType doesn't handle + kerning data from the 'GPOS' table (as present in some OpenType fonts). + + +.. data:: FT_FACE_FLAG_MULTIPLE_MASTERS + + Indicates that the font contains multiple masters and is capable of + interpolating between them. See the multiple-masters specific API for + details. + + +.. data:: FT_FACE_FLAG_GLYPH_NAMES + + Indicates that the font contains glyph names that can be retrieved through + FT_Get_Glyph_Name. Note that some TrueType fonts contain broken glyph name + tables. Use the function FT_Has_PS_Glyph_Names when needed. + + +.. data:: FT_FACE_FLAG_EXTERNAL_STREAM + + Used internally by FreeType to indicate that a face's stream was provided by + the client application and should not be destroyed when FT_Done_Face is + called. Don't read or test this flag. + + +.. data:: FT_FACE_FLAG_HINTER + + Set if the font driver has a hinting machine of its own. For example, with + TrueType fonts, it makes sense to use data from the SFNT 'gasp' table only if + the native TrueType hinting engine (with the bytecode interpreter) is + available and active. + + +.. data:: FT_FACE_FLAG_CID_KEYED + + Set if the font is CID-keyed. In that case, the font is not accessed by glyph + indices but by CID values. For subsetted CID-keyed fonts this has the + consequence that not all index values are a valid argument to + FT_Load_Glyph. Only the CID values for which corresponding glyphs in the + subsetted font exist make FT_Load_Glyph return successfully; in all other + cases you get an 'FT_Err_Invalid_Argument' error. + + Note that CID-keyed fonts which are in an SFNT wrapper don't have this flag + set since the glyphs are accessed in the normal way (using contiguous + indices); the 'CID-ness' isn't visible to the application. + + +.. data:: FT_FACE_FLAG_TRICKY + + Set if the font is 'tricky', this is, it always needs the font format's + native hinting engine to get a reasonable result. A typical example is the + Chinese font 'mingli.ttf' which uses TrueType bytecode instructions to move + and scale all of its subglyphs. + + It is not possible to autohint such fonts using FT_LOAD_FORCE_AUTOHINT; it + will also ignore FT_LOAD_NO_HINTING. You have to set both FT_LOAD_NO_HINTING + and FT_LOAD_NO_AUTOHINT to really disable hinting; however, you probably + never want this except for demonstration purposes. + + Currently, there are six TrueType fonts in the list of tricky fonts; they are + hard-coded in file 'ttobjs.c'. + diff --git a/third_party/freetype-py/doc/ft_fstypes.rst b/third_party/freetype-py/doc/ft_fstypes.rst new file mode 100644 index 0000000..e6b1cab --- /dev/null +++ b/third_party/freetype-py/doc/ft_fstypes.rst @@ -0,0 +1,45 @@ +FT_FSTYPES +========== + +A list of bit flags that inform client applications of embedding and +subsetting restrictions associated with a font. + +.. data:: FT_FSTYPE_INSTALLABLE_EMBEDDING + + Fonts with no fsType bit set may be embedded and permanently installed on + the remote system by an application. + + +.. data:: FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING + + Fonts that have only this bit set must not be modified, embedded or exchanged + in any manner without first obtaining permission of the font software + copyright owner. + + +.. data:: FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING + + If this bit is set, the font may be embedded and temporarily loaded on the + remote system. Documents containing Preview & Print fonts must be opened + 'read-only'; no edits can be applied to the document. + + +.. data:: FT_FSTYPE_EDITABLE_EMBEDDING + + If this bit is set, the font may be embedded but must only be installed + temporarily on other systems. In contrast to Preview & Print fonts, + documents containing editable fonts may be opened for reading, editing is + permitted, and changes may be saved. + + +.. data:: FT_FSTYPE_NO_SUBSETTING + + If this bit is set, the font may not be subsetted prior to embedding. + + +.. data:: FT_FSTYPE_BITMAP_EMBEDDING_ONLY + + If this bit is set, only bitmaps contained in the font may be embedded; no + outline data may be embedded. If there are no bitmaps available in the font, + then the font is unembeddable. + diff --git a/third_party/freetype-py/doc/ft_glyph_bbox_modes.rst b/third_party/freetype-py/doc/ft_glyph_bbox_modes.rst new file mode 100644 index 0000000..f192aa3 --- /dev/null +++ b/third_party/freetype-py/doc/ft_glyph_bbox_modes.rst @@ -0,0 +1,25 @@ +FT_GLYPH_BBOX_MODES +=================== + +The mode how the values of FT_Glyph_Get_CBox are returned. + +.. data:: FT_GLYPH_BBOX_UNSCALED + + Return unscaled font units. + +.. data:: FT_GLYPH_BBOX_SUBPIXELS + + Return unfitted 26.6 coordinates. + +.. data:: FT_GLYPH_BBOX_GRIDFIT + + Return grid-fitted 26.6 coordinates. + +.. data:: FT_GLYPH_BBOX_TRUNCATE + + Return coordinates in integer pixels. + +.. data:: FT_GLYPH_BBOX_PIXELS + + Return grid-fitted pixel coordinates. + diff --git a/third_party/freetype-py/doc/ft_glyph_formats.rst b/third_party/freetype-py/doc/ft_glyph_formats.rst new file mode 100644 index 0000000..e686980 --- /dev/null +++ b/third_party/freetype-py/doc/ft_glyph_formats.rst @@ -0,0 +1,36 @@ +FT_GLYPH_FORMATS +================ + +An enumeration type used to describe the format of a given glyph image. Note +that this version of FreeType only supports two image formats, even though +future font drivers will be able to register their own format. + +.. data:: FT_GLYPH_FORMAT_NONE + + The value 0 is reserved. + +.. data:: FT_GLYPH_FORMAT_COMPOSITE + + The glyph image is a composite of several other images. This format is only + used with FT_LOAD_NO_RECURSE, and is used to report compound glyphs (like + accented characters). + +.. data:: FT_GLYPH_FORMAT_BITMAP + + The glyph image is a bitmap, and can be described as an FT_Bitmap. You + generally need to access the 'bitmap' field of the FT_GlyphSlotRec structure + to read it. + +.. data:: FT_GLYPH_FORMAT_OUTLINE + + The glyph image is a vectorial outline made of line segments and Bezier arcs; + it can be described as an FT_Outline; you generally want to access the + 'outline' field of the FT_GlyphSlotRec structure to read it. + +.. data:: FT_GLYPH_FORMAT_PLOTTER + + The glyph image is a vectorial path with no inside and outside contours. Some + Type 1 fonts, like those in the Hershey family, contain glyphs in this + format. These are described as FT_Outline, but FreeType isn't currently + capable of rendering them correctly. + diff --git a/third_party/freetype-py/doc/ft_kerning_modes.rst b/third_party/freetype-py/doc/ft_kerning_modes.rst new file mode 100644 index 0000000..1dd2198 --- /dev/null +++ b/third_party/freetype-py/doc/ft_kerning_modes.rst @@ -0,0 +1,21 @@ +FT_KERNING_MODES +================ + +An enumeration used to specify which kerning values to return in +.. data:: FT_Get_Kerning. + + +.. data:: FT_KERNING_DEFAULT + + Return scaled and grid-fitted kerning distances (value is 0). + + +.. data:: FT_KERNING_UNFITTED + + Return scaled but un-grid-fitted kerning distances. + + +.. data:: FT_KERNING_UNSCALED + + Return the kerning vector in original font units. + diff --git a/third_party/freetype-py/doc/ft_lcd_filters.rst b/third_party/freetype-py/doc/ft_lcd_filters.rst new file mode 100644 index 0000000..4e407e0 --- /dev/null +++ b/third_party/freetype-py/doc/ft_lcd_filters.rst @@ -0,0 +1,36 @@ +FT_LCD_FILTERS +============== + +A list of values to identify various types of LCD filters. + + +.. data:: FT_LCD_FILTER_NONE + + Do not perform filtering. When used with subpixel rendering, this results in + sometimes severe color fringes. + + +.. data:: FT_LCD_FILTER_DEFAULT + + The default filter reduces color fringes considerably, at the cost of a + slight blurriness in the output. + + +.. data:: FT_LCD_FILTER_LIGHT + + The light filter is a variant that produces less blurriness at the cost of + slightly more color fringes than the default one. It might be better, + depending on taste, your monitor, or your personal vision. + + +.. data:: FT_LCD_FILTER_LEGACY + + This filter corresponds to the original libXft color filter. It provides high + contrast output but can exhibit really bad color fringes if glyphs are not + extremely well hinted to the pixel grid. In other words, it only works well + if the TrueType bytecode interpreter is enabled and high-quality hinted fonts + are used. + + This filter is only provided for comparison purposes, and might be disabled + or stay unsupported in the future. + diff --git a/third_party/freetype-py/doc/ft_load_flags.rst b/third_party/freetype-py/doc/ft_load_flags.rst new file mode 100644 index 0000000..5077ae5 --- /dev/null +++ b/third_party/freetype-py/doc/ft_load_flags.rst @@ -0,0 +1,131 @@ +FT_LOAD_FLAGS +============= + +A list of bit-field constants used with FT_Load_Glyph to indicate what kind +of operations to perform during glyph loading. + + +.. data:: FT_LOAD_DEFAULT + + Corresponding to 0, this value is used as the default glyph load + operation. In this case, the following happens: + + 1. FreeType looks for a bitmap for the glyph corresponding to the face's + current size. If one is found, the function returns. The bitmap data can + be accessed from the glyph slot (see note below). + + 2. If no embedded bitmap is searched or found, FreeType looks for a scalable + outline. If one is found, it is loaded from the font file, scaled to + device pixels, then 'hinted' to the pixel grid in order to optimize + it. The outline data can be accessed from the glyph slot (see note below). + + Note that by default, the glyph loader doesn't render outlines into + bitmaps. The following flags are used to modify this default behaviour to + more specific and useful cases. + + +.. data:: FT_LOAD_NO_SCALE + + Don't scale the outline glyph loaded, but keep it in font units. + + This flag implies FT_LOAD_NO_HINTING and FT_LOAD_NO_BITMAP, and unsets + FT_LOAD_RENDER. + + +.. data:: FT_LOAD_NO_HINTING + + Disable hinting. This generally generates 'blurrier' bitmap glyph when the + glyph is rendered in any of the anti-aliased modes. See also the note below. + + This flag is implied by FT_LOAD_NO_SCALE. + + +.. data:: FT_LOAD_RENDER + + Call FT_Render_Glyph after the glyph is loaded. By default, the glyph is + rendered in FT_RENDER_MODE_NORMAL mode. This can be overridden by + FT_LOAD_TARGET_XXX or FT_LOAD_MONOCHROME. + + This flag is unset by FT_LOAD_NO_SCALE. + + +.. data:: FT_LOAD_NO_BITMAP + + Ignore bitmap strikes when loading. Bitmap-only fonts ignore this flag. + + FT_LOAD_NO_SCALE always sets this flag. + + +.. data:: FT_LOAD_VERTICAL_LAYOUT + + Load the glyph for vertical text layout. Don't use it as it is problematic + currently. + + +.. data:: FT_LOAD_FORCE_AUTOHINT + + Indicates that the auto-hinter is preferred over the font's native + hinter. See also the note below. + + +.. data:: FT_LOAD_CROP_BITMAP + + Indicates that the font driver should crop the loaded bitmap glyph (i.e., + remove all space around its black bits). Not all drivers implement this. + + +.. data:: FT_LOAD_PEDANTIC + + Indicates that the font driver should perform pedantic verifications during + glyph loading. This is mostly used to detect broken glyphs in fonts. By + default, FreeType tries to handle broken fonts also. + + +.. data:: FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH + + Indicates that the font driver should ignore the global advance width defined + in the font. By default, that value is used as the advance width for all + glyphs when the face has FT_FACE_FLAG_FIXED_WIDTH set. + + This flag exists for historical reasons (to support buggy CJK fonts). + + +.. data:: FT_LOAD_NO_RECURSE + + This flag is only used internally. It merely indicates that the font driver + should not load composite glyphs recursively. Instead, it should set the + 'num_subglyph' and 'subglyphs' values of the glyph slot accordingly, and set + 'glyph->format' to FT_GLYPH_FORMAT_COMPOSITE. + + The description of sub-glyphs is not available to client applications for now. + + This flag implies FT_LOAD_NO_SCALE and FT_LOAD_IGNORE_TRANSFORM. + + +.. data:: FT_LOAD_IGNORE_TRANSFORM + + Indicates that the transform matrix set by FT_Set_Transform should be ignored. + + +.. data:: FT_LOAD_MONOCHROME + + This flag is used with FT_LOAD_RENDER to indicate that you want to render an + outline glyph to a 1-bit monochrome bitmap glyph, with 8 pixels packed into + each byte of the bitmap data. + + Note that this has no effect on the hinting algorithm used. You should rather + use FT_LOAD_TARGET_MONO so that the monochrome-optimized hinting algorithm is + used. + + +.. data:: FT_LOAD_LINEAR_DESIGN + + Indicates that the 'linearHoriAdvance' and 'linearVertAdvance' fields of + FT_GlyphSlotRec should be kept in font units. See FT_GlyphSlotRec for + details. + + +.. data:: FT_LOAD_NO_AUTOHINT + + Disable auto-hinter. See also the note below. + diff --git a/third_party/freetype-py/doc/ft_load_targets.rst b/third_party/freetype-py/doc/ft_load_targets.rst new file mode 100644 index 0000000..63da52b --- /dev/null +++ b/third_party/freetype-py/doc/ft_load_targets.rst @@ -0,0 +1,48 @@ +FT_LOAD_TARGETS +=============== + +A list of values that are used to select a specific hinting algorithm to use +by the hinter. You should OR one of these values to your 'load_flags' when +calling FT_Load_Glyph. + +Note that font's native hinters may ignore the hinting algorithm you have +specified (e.g., the TrueType bytecode interpreter). You can set +.. data:: FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used. + +Also note that FT_LOAD_TARGET_LIGHT is an exception, in that it always +implies FT_LOAD_FORCE_AUTOHINT. + + +.. data:: FT_LOAD_TARGET_NORMAL + + This corresponds to the default hinting algorithm, optimized for standard + gray-level rendering. For monochrome output, use FT_LOAD_TARGET_MONO instead. + + +.. data:: FT_LOAD_TARGET_LIGHT + + A lighter hinting algorithm for non-monochrome modes. Many generated glyphs + are more fuzzy but better resemble its original shape. A bit like rendering + on Mac OS X. + + As a special exception, this target implies FT_LOAD_FORCE_AUTOHINT. + + +.. data:: FT_LOAD_TARGET_MONO + + Strong hinting algorithm that should only be used for monochrome output. The + result is probably unpleasant if the glyph is rendered in non-monochrome + modes. + + +.. data:: FT_LOAD_TARGET_LCD + + A variant of FT_LOAD_TARGET_NORMAL optimized for horizontally decimated LCD + displays. + + +.. data:: FT_LOAD_TARGET_LCD_V + + A variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD + displays. + diff --git a/third_party/freetype-py/doc/ft_open_modes.rst b/third_party/freetype-py/doc/ft_open_modes.rst new file mode 100644 index 0000000..2500104 --- /dev/null +++ b/third_party/freetype-py/doc/ft_open_modes.rst @@ -0,0 +1,31 @@ +FT_OPEN_MODES +============= + +A list of bit-field constants used within the 'flags' field of the +.. data:: FT_Open_Args structure. + + +.. data:: FT_OPEN_MEMORY + + This is a memory-based stream. + + +.. data:: FT_OPEN_STREAM + + Copy the stream from the 'stream' field. + + +.. data:: FT_OPEN_PATHNAME + + Create a new input stream from a C path name. + + +.. data:: FT_OPEN_DRIVER + + Use the 'driver' field. + + +.. data:: FT_OPEN_PARAMS + + Use the 'num_params' and 'params' fields. + diff --git a/third_party/freetype-py/doc/ft_outline_flags.rst b/third_party/freetype-py/doc/ft_outline_flags.rst new file mode 100644 index 0000000..5bbc684 --- /dev/null +++ b/third_party/freetype-py/doc/ft_outline_flags.rst @@ -0,0 +1,69 @@ +FT_OUTLINE_FLAGS +================ + +A list of bit-field constants use for the flags in an outline's 'flags' +field. + + +.. data:: FT_OUTLINE_NONE + + Value 0 is reserved. + + +.. data:: FT_OUTLINE_OWNER + + If set, this flag indicates that the outline's field arrays (i.e., 'points', + 'flags', and 'contours') are 'owned' by the outline object, and should thus + be freed when it is destroyed. + + +.. data:: FT_OUTLINE_EVEN_ODD_FILL + + By default, outlines are filled using the non-zero winding rule. If set to 1, + the outline will be filled using the even-odd fill rule (only works with the + smooth rasterizer). + + +.. data:: FT_OUTLINE_REVERSE_FILL + + By default, outside contours of an outline are oriented in clock-wise + direction, as defined in the TrueType specification. This flag is set if the + outline uses the opposite direction (typically for Type 1 fonts). This flag + is ignored by the scan converter. + + +.. data:: FT_OUTLINE_IGNORE_DROPOUTS + + By default, the scan converter will try to detect drop-outs in an outline and + correct the glyph bitmap to ensure consistent shape continuity. If set, this + flag hints the scan-line converter to ignore such cases. See below for more + information. + + +.. data:: FT_OUTLINE_SMART_DROPOUTS + + Select smart dropout control. If unset, use simple dropout control. Ignored + if FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information. + + +.. data:: FT_OUTLINE_INCLUDE_STUBS + + If set, turn pixels on for 'stubs', otherwise exclude them. Ignored if + FT_OUTLINE_IGNORE_DROPOUTS is set. See below for more information. + + +.. data:: FT_OUTLINE_HIGH_PRECISION + + This flag indicates that the scan-line converter should try to convert this + outline to bitmaps with the highest possible quality. It is typically set for + small character sizes. Note that this is only a hint that might be completely + ignored by a given scan-converter. + + +.. data:: FT_OUTLINE_SINGLE_PASS + + This flag is set to force a given scan-converter to only use a single pass + over the outline to render a bitmap glyph image. Normally, it is set for very + large character sizes. It is only a hint that might be completely ignored by + a given scan-converter. + diff --git a/third_party/freetype-py/doc/ft_pixel_modes.rst b/third_party/freetype-py/doc/ft_pixel_modes.rst new file mode 100644 index 0000000..4f56ea9 --- /dev/null +++ b/third_party/freetype-py/doc/ft_pixel_modes.rst @@ -0,0 +1,55 @@ +FT_PIXEL_MODES +============== + +An enumeration type that lists the render modes supported by FreeType 2. Each +mode corresponds to a specific type of scanline conversion performed on the +outline. + + +.. data:: FT_PIXEL_MODE_NONE + + Value 0 is reserved. + + +.. data:: FT_PIXEL_MODE_MONO + + A monochrome bitmap, using 1 bit per pixel. Note that pixels are stored in + most-significant order (MSB), which means that the left-most pixel in a byte + has value 128. + + +.. data:: FT_PIXEL_MODE_GRAY + + An 8-bit bitmap, generally used to represent anti-aliased glyph images. Each + pixel is stored in one byte. Note that the number of 'gray' levels is stored + in the 'num_grays' field of the FT_Bitmap structure (it generally is 256). + + +.. data:: FT_PIXEL_MODE_GRAY2 + + A 2-bit per pixel bitmap, used to represent embedded anti-aliased bitmaps in + font files according to the OpenType specification. We haven't found a single + font using this format, however. + + +.. data:: FT_PIXEL_MODE_GRAY4 + + A 4-bit per pixel bitmap, representing embedded anti-aliased bitmaps in font + files according to the OpenType specification. We haven't found a single font + using this format, however. + + +.. data:: FT_PIXEL_MODE_LCD + + An 8-bit bitmap, representing RGB or BGR decimated glyph images used for + display on LCD displays; the bitmap is three times wider than the original + glyph image. See also FT_RENDER_MODE_LCD. + + +.. data:: FT_PIXEL_MODE_LCD_V + + An 8-bit bitmap, representing RGB or BGR decimated glyph images used for + display on rotated LCD displays; the bitmap is three times taller than the + original glyph image. See also FT_RENDER_MODE_LCD_V. + + diff --git a/third_party/freetype-py/doc/ft_render_modes.rst b/third_party/freetype-py/doc/ft_render_modes.rst new file mode 100644 index 0000000..fd9027b --- /dev/null +++ b/third_party/freetype-py/doc/ft_render_modes.rst @@ -0,0 +1,45 @@ +FT_RENDER_MODES +=============== + +An enumeration type that lists the render modes supported by FreeType 2. Each +mode corresponds to a specific type of scanline conversion performed on the +outline. + +For bitmap fonts and embedded bitmaps the 'bitmap->pixel_mode' field in the +.. data:: FT_GlyphSlotRec structure gives the format of the returned bitmap. + +All modes except FT_RENDER_MODE_MONO use 256 levels of opacity. + + +.. data:: FT_RENDER_MODE_NORMAL + + This is the default render mode; it corresponds to 8-bit anti-aliased + bitmaps. + + +.. data:: FT_RENDER_MODE_LIGHT + + This is equivalent to FT_RENDER_MODE_NORMAL. It is only defined as a separate + value because render modes are also used indirectly to define hinting + algorithm selectors. See FT_LOAD_TARGET_XXX for details. + + +.. data:: FT_RENDER_MODE_MONO + + This mode corresponds to 1-bit bitmaps (with 2 levels of opacity). + + +.. data:: FT_RENDER_MODE_LCD + + This mode corresponds to horizontal RGB and BGR sub-pixel displays like LCD + screens. It produces 8-bit bitmaps that are 3 times the width of the original + glyph outline in pixels, and which use the FT_PIXEL_MODE_LCD mode. + + +.. data:: FT_RENDER_MODE_LCD_V + + This mode corresponds to vertical RGB and BGR sub-pixel displays (like PDA + screens, rotated LCD displays, etc.). It produces 8-bit bitmaps that are 3 + times the height of the original glyph outline in pixels and use the + FT_PIXEL_MODE_LCD_V mode. + diff --git a/third_party/freetype-py/doc/ft_stroker_borders.rst b/third_party/freetype-py/doc/ft_stroker_borders.rst new file mode 100644 index 0000000..31bc073 --- /dev/null +++ b/third_party/freetype-py/doc/ft_stroker_borders.rst @@ -0,0 +1,27 @@ +FT_STROKER_BORDERS +================== + +These values are used to select a given stroke border in +.. data:: FT_Stroker_GetBorderCounts and FT_Stroker_ExportBorder. + + +.. data:: FT_STROKER_BORDER_LEFT + + Select the left border, relative to the drawing direction. + + +.. data:: FT_STROKER_BORDER_RIGHT + + Select the right border, relative to the drawing direction. + + +Note + + Applications are generally interested in the 'inside' and 'outside' + borders. However, there is no direct mapping between these and the 'left' and + 'right' ones, since this really depends on the glyph's drawing orientation, + which varies between font formats. + + You can however use FT_Outline_GetInsideBorder and + FT_Outline_GetOutsideBorder to get these. + diff --git a/third_party/freetype-py/doc/ft_stroker_linecaps.rst b/third_party/freetype-py/doc/ft_stroker_linecaps.rst new file mode 100644 index 0000000..aa56831 --- /dev/null +++ b/third_party/freetype-py/doc/ft_stroker_linecaps.rst @@ -0,0 +1,21 @@ +FT_STROKER_LINECAPS +=================== + +These values determine how the end of opened sub-paths are rendered in a +stroke. + + +.. data:: FT_STROKER_LINECAP_BUTT + + The end of lines is rendered as a full stop on the last point itself. + + +.. data:: FT_STROKER_LINECAP_ROUND + + The end of lines is rendered as a half-circle around the last point. + + +.. data:: FT_STROKER_LINECAP_SQUARE + + The end of lines is rendered as a square around the last point. + diff --git a/third_party/freetype-py/doc/ft_stroker_linejoins.rst b/third_party/freetype-py/doc/ft_stroker_linejoins.rst new file mode 100644 index 0000000..dcbdf28 --- /dev/null +++ b/third_party/freetype-py/doc/ft_stroker_linejoins.rst @@ -0,0 +1,24 @@ +FT_STROKER_LINEJOINS +==================== + +These values determine how two joining lines are rendered in a stroker. + + +.. data:: FT_STROKER_LINEJOIN_ROUND + + Used to render rounded line joins. Circular arcs are used to join two lines + smoothly. + + +.. data:: FT_STROKER_LINEJOIN_BEVEL + + Used to render beveled line joins; i.e., the two joining lines are extended + until they intersect. + + +.. data:: FT_STROKER_LINEJOIN_MITER + + Same as beveled rendering, except that an additional line break is added if + the angle between the two joining lines is too closed (this is useful to + avoid unpleasant spikes in beveled rendering). + diff --git a/third_party/freetype-py/doc/ft_style_flags.rst b/third_party/freetype-py/doc/ft_style_flags.rst new file mode 100644 index 0000000..9cf532c --- /dev/null +++ b/third_party/freetype-py/doc/ft_style_flags.rst @@ -0,0 +1,16 @@ +FT_STYLE_FLAGS +============== + +A list of bit-flags used to indicate the style of a given face. These are +used in the 'style_flags' field of FT_FaceRec. + + +.. data:: FT_STYLE_FLAG_ITALIC + + Indicates that a given face style is italic or oblique. + + +.. data:: FT_STYLE_FLAG_BOLD + + Indicates that a given face is bold. + diff --git a/third_party/freetype-py/doc/glyph.rst b/third_party/freetype-py/doc/glyph.rst new file mode 100644 index 0000000..9bfa079 --- /dev/null +++ b/third_party/freetype-py/doc/glyph.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Glyph +===== +.. autoclass:: Glyph + :members: diff --git a/third_party/freetype-py/doc/glyph_slot.rst b/third_party/freetype-py/doc/glyph_slot.rst new file mode 100644 index 0000000..eea03c2 --- /dev/null +++ b/third_party/freetype-py/doc/glyph_slot.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Glyph slot +========== +.. autoclass:: GlyphSlot + :members: diff --git a/third_party/freetype-py/doc/index.rst b/third_party/freetype-py/doc/index.rst new file mode 100644 index 0000000..5e5d358 --- /dev/null +++ b/third_party/freetype-py/doc/index.rst @@ -0,0 +1,26 @@ +============================= +Freetype python documentation +============================= + +Freetype python provides bindings for the FreeType library. Only the high-level API is bound. + +Freetype-py lives at https://github.com/rougier/freetype-py/ + + +.. toctree:: + :maxdepth: 1 + + introduction.rst + usage.rst + screenshots.rst + api.rst + notes.rst + license.rst + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/third_party/freetype-py/doc/introduction.rst b/third_party/freetype-py/doc/introduction.rst new file mode 100644 index 0000000..f7ed63d --- /dev/null +++ b/third_party/freetype-py/doc/introduction.rst @@ -0,0 +1,53 @@ +============ +Introduction +============ + +To be able to use freetype python, you need the freetype library version 2 +installed on your system. + + +Pre-requisites +============== + +You need to have the Freetype library installed on your system to be able to use +the freetype python bindings. + +.. warning:: + + If you don't compile the Freetype library yourself, chances are subpixel + anti-aliasing will be disabled due to patent problems. Have a look at + `Freetype FAQ <http://www.freetype.org/freetype2/docs/ft2faq.html#builds>`_ + to know how to enable it. + +Mac users +--------- +Freetype should be already installed on your system. If not, either install it +using `homebrew <http://brew.sh>`_ or compile it and place the library binary +file in '/usr/local/lib'. + +Linux users +----------- +Freetype should be already installed on your system. If not, either install +relevant package from your package manager or compile from sources and place +the library binary file in '/usr/local/lib'. + +Window users +------------ +You can try to install a window binaries available from the Freetype site or +you can compile it from sources. In such a case, make sure the resulting +library binaries is named 'Freetype.dll' (and not something like +Freetype245.dll) and make sure to place a copy in Windows/System32 directory. + + +Installation +============ + +The easiest way to install freetype-pu is to use pip:: + + pip install freetype-py + +Or you can get the latest version from git and install yourself:: + + git clone https://github.com/rougier/freetype-py.git + cd freetype-py + python setup.py install diff --git a/third_party/freetype-py/doc/license.rst b/third_party/freetype-py/doc/license.rst new file mode 100644 index 0000000..8d980b5 --- /dev/null +++ b/third_party/freetype-py/doc/license.rst @@ -0,0 +1,29 @@ +License +======= + +Copyright (c) 2011-2014, Nicolas P. Rougier - All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this +list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +Neither the name of the freetype-py Development Team nor the names of its +contributors may be used to endorse or promote products derived from this +software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/third_party/freetype-py/doc/make.bat b/third_party/freetype-py/doc/make.bat new file mode 100644 index 0000000..240f628 --- /dev/null +++ b/third_party/freetype-py/doc/make.bat @@ -0,0 +1,170 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^<target^>` where ^<target^> is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\FreetypePython.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\FreetypePython.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/third_party/freetype-py/doc/make_enums.py b/third_party/freetype-py/doc/make_enums.py new file mode 100644 index 0000000..f87c677 --- /dev/null +++ b/third_party/freetype-py/doc/make_enums.py @@ -0,0 +1,48 @@ +import freetype + +enums = [ + 'ft_fstypes', + 'ft_face_flags', + 'ft_encodings', + 'ft_glyph_bbox_modes', + 'ft_glyph_formats', + 'ft_kerning_modes', + 'ft_lcd_filters', + 'ft_load_flags', + 'ft_load_targets', + 'ft_open_modes', + 'ft_outline_flags', + 'ft_pixel_modes', + 'ft_render_modes', + 'ft_stroker_borders', + 'ft_stroker_linecaps', + 'ft_stroker_linejoins', + 'ft_style_flags', + 'tt_adobe_ids', + 'tt_apple_ids', + 'tt_mac_ids', + 'tt_ms_ids', + 'tt_ms_langids', + 'tt_mac_langids', + 'tt_name_ids', + 'tt_platforms' +] + +for name in enums: + print name + module = getattr(freetype, name) + doc = getattr(module, '__doc__') + doc = doc.split('\n') + file = open( name+'.rst', 'w') + + title = name.upper() + file.write(title+'\n') + file.write('='*len(title)+'\n') + + for line in doc: + if line.startswith('FT_') or line.startswith('TT_'): + file.write( '.. data:: '+ line + '\n') + else: + file.write( line + '\n') + file.close() + diff --git a/third_party/freetype-py/doc/notes.rst b/third_party/freetype-py/doc/notes.rst new file mode 100644 index 0000000..95eeba7 --- /dev/null +++ b/third_party/freetype-py/doc/notes.rst @@ -0,0 +1,44 @@ +============= +Release notes +============= + +0.4.1 +===== +* Fixed a bug in Face.load_char +* Added get_format and get_fstype in Face (titusz.pan) + +0.3.3 +===== +* Fixed a bug in get_kerning +* Added test against freetype version for FT_ReferenceFace and FT_Get_FSType_Flags + +0.3.2 +===== +* Added wordle.py example +* Added get_bbox for Outline class +* Added get_cbox for Outline and Glyph classes +* Added __del__ method to Face class +* Set encoding (utf-8) to all source files and examples. +* Added test against freetype version for FT_Library_SetLcdFilterWeights. + +0.3.1 +===== +* Added FT_Stroker bindings (enums, structs and methods) +* Added ft-outline and ft-color examples +* Fixed first/next char in Face +* Pythonic interface has been documented + +0.3.0 +===== +* Added ftdump.py demo and necessary functions + +0.2.0 +===== +* Added sfnt functions +* Added TT_XXX flags in ft_enums +* New examples + +0.1.1 +===== +* Initial release +* Working examples diff --git a/third_party/freetype-py/doc/outline.rst b/third_party/freetype-py/doc/outline.rst new file mode 100644 index 0000000..6c187c0 --- /dev/null +++ b/third_party/freetype-py/doc/outline.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Outline +======= +.. autoclass:: Outline + :members: diff --git a/third_party/freetype-py/doc/screenshots.rst b/third_party/freetype-py/doc/screenshots.rst new file mode 100644 index 0000000..d1f0c54 --- /dev/null +++ b/third_party/freetype-py/doc/screenshots.rst @@ -0,0 +1,34 @@ +=========== +Screenshots +=========== + +Screenshot below comes from the wordle.py example. No clever tricks here, just +brute force. + +.. image:: _static/wordle.png + +Screenshots below comes from the glyph-vector.py and glyph-vectopr-2.py +examples showing how to access a glyph outline information and use it to draw +the glyph. Rendering (with Bézier curves) is done using matplotlib. + +.. image:: _static/S.png +.. image:: _static/G.png + + +Screenshot below comes from the glyph-color.py showing how to draw and combine +a glyph outline with the regular glyph. + +.. image:: _static/outline.png + +The screenshot below comes from the hello-world.py example showing how to draw +text in a bitmap (that has been zoomed in to show antialiasing). + +.. image:: _static/hello-world.png + + +The screenshot below comes from the agg-trick.py example showing an +implementation of ideas from the `Texts Rasterization Exposures +<http://agg.sourceforge.net/antigrain.com/research/font_rasterization/>`_ by +Maxim Shemarev. + +.. image:: _static/agg-trick.png diff --git a/third_party/freetype-py/doc/sfnt_name.rst b/third_party/freetype-py/doc/sfnt_name.rst new file mode 100644 index 0000000..95aaefd --- /dev/null +++ b/third_party/freetype-py/doc/sfnt_name.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +SFNT name +========== +.. autoclass:: SfntName + :members: diff --git a/third_party/freetype-py/doc/size_metrics.rst b/third_party/freetype-py/doc/size_metrics.rst new file mode 100644 index 0000000..9f2e489 --- /dev/null +++ b/third_party/freetype-py/doc/size_metrics.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Size Metrics +============ +.. autoclass:: SizeMetrics + :members: diff --git a/third_party/freetype-py/doc/stroker.rst b/third_party/freetype-py/doc/stroker.rst new file mode 100644 index 0000000..27a2a25 --- /dev/null +++ b/third_party/freetype-py/doc/stroker.rst @@ -0,0 +1,6 @@ +.. currentmodule:: freetype + +Stroker +======= +.. autoclass:: Stroker + :members: diff --git a/third_party/freetype-py/doc/tt_adobe_ids.rst b/third_party/freetype-py/doc/tt_adobe_ids.rst new file mode 100644 index 0000000..bcc6e58 --- /dev/null +++ b/third_party/freetype-py/doc/tt_adobe_ids.rst @@ -0,0 +1,25 @@ +TT_ADOBE_IDS +============ + +A list of valid values for the 'encoding_id' for TT_PLATFORM_ADOBE +charmaps. This is a FreeType-specific extension! + +.. data:: TT_ADOBE_ID_STANDARD + + Adobe standard encoding. + + +.. data:: TT_ADOBE_ID_EXPERT + + Adobe expert encoding. + + +.. data:: TT_ADOBE_ID_CUSTOM + + Adobe custom encoding. + + +.. data:: TT_ADOBE_ID_LATIN_1 + + Adobe Latin 1 encoding. + diff --git a/third_party/freetype-py/doc/tt_apple_ids.rst b/third_party/freetype-py/doc/tt_apple_ids.rst new file mode 100644 index 0000000..c26b825 --- /dev/null +++ b/third_party/freetype-py/doc/tt_apple_ids.rst @@ -0,0 +1,37 @@ +TT_APPLE_IDS +============ + +A list of valid values for the 'encoding_id' for TT_PLATFORM_APPLE_UNICODE +charmaps and name entries. + + +.. data:: TT_APPLE_ID_DEFAULT + + Unicode version 1.0. + + +.. data:: TT_APPLE_ID_UNICODE_1_1 + + Unicode 1.1; specifies Hangul characters starting at U+34xx. + + +.. data:: TT_APPLE_ID_ISO_10646 + + Deprecated (identical to preceding). + + +.. data:: TT_APPLE_ID_UNICODE_2_0 + + Unicode 2.0 and beyond (UTF-16 BMP only). + + +.. data:: TT_APPLE_ID_UNICODE_32 + + Unicode 3.1 and beyond, using UTF-32. + + +.. data:: TT_APPLE_ID_VARIANT_SELECTOR + + From Adobe, not Apple. Not a normal cmap. Specifies variations on a real + cmap. + diff --git a/third_party/freetype-py/doc/tt_mac_ids.rst b/third_party/freetype-py/doc/tt_mac_ids.rst new file mode 100644 index 0000000..5b7cec4 --- /dev/null +++ b/third_party/freetype-py/doc/tt_mac_ids.rst @@ -0,0 +1,74 @@ +TT_MAC_IDS +========== + +A list of valid values for the 'encoding_id' for TT_PLATFORM_MACINTOSH +charmaps and name entries. + +.. data:: TT_MAC_ID_ROMAN + +.. data:: TT_MAC_ID_TELUGU + +.. data:: TT_MAC_ID_GURMUKHI + +.. data:: TT_MAC_ID_TIBETAN + +.. data:: TT_MAC_ID_SIMPLIFIED_CHINESE + +.. data:: TT_MAC_ID_SINDHI + +.. data:: TT_MAC_ID_SINHALESE + +.. data:: TT_MAC_ID_RUSSIAN + +.. data:: TT_MAC_ID_KANNADA + +.. data:: TT_MAC_ID_VIETNAMESE + +.. data:: TT_MAC_ID_MONGOLIAN + +.. data:: TT_MAC_ID_DEVANAGARI + +.. data:: TT_MAC_ID_HEBREW + +.. data:: TT_MAC_ID_TAMIL + +.. data:: TT_MAC_ID_THAI + +.. data:: TT_MAC_ID_BURMESE + +.. data:: TT_MAC_ID_MALDIVIAN + +.. data:: TT_MAC_ID_TRADITIONAL_CHINESE + +.. data:: TT_MAC_ID_JAPANESE + +.. data:: TT_MAC_ID_GREEK + +.. data:: TT_MAC_ID_LAOTIAN + +.. data:: TT_MAC_ID_KHMER + +.. data:: TT_MAC_ID_UNINTERP + +.. data:: TT_MAC_ID_ORIYA + +.. data:: TT_MAC_ID_RSYMBOL + +.. data:: TT_MAC_ID_MALAYALAM + +.. data:: TT_MAC_ID_GEEZ + +.. data:: TT_MAC_ID_KOREAN + +.. data:: TT_MAC_ID_GUJARATI + +.. data:: TT_MAC_ID_BENGALI + +.. data:: TT_MAC_ID_ARABIC + +.. data:: TT_MAC_ID_GEORGIAN + +.. data:: TT_MAC_ID_ARMENIAN + +.. data:: TT_MAC_ID_SLAVIC + diff --git a/third_party/freetype-py/doc/tt_mac_langids.rst b/third_party/freetype-py/doc/tt_mac_langids.rst new file mode 100644 index 0000000..0491e2a --- /dev/null +++ b/third_party/freetype-py/doc/tt_mac_langids.rst @@ -0,0 +1,246 @@ +TT_MAC_LANGIDS +============== + +Possible values of the language identifier field in the name records of the +TTF 'name' table if the 'platform' identifier code is TT_PLATFORM_MACINTOSH. + +.. data:: TT_MAC_LANGID_LATIN + +.. data:: TT_MAC_LANGID_MALAY_ARABIC_SCRIPT + +.. data:: TT_MAC_LANGID_HINDI + +.. data:: TT_MAC_LANGID_CATALAN + +.. data:: TT_MAC_LANGID_MARATHI + +.. data:: TT_MAC_LANGID_ICELANDIC + +.. data:: TT_MAC_LANGID_ARABIC + +.. data:: TT_MAC_LANGID_SWAHILI + +.. data:: TT_MAC_LANGID_KHMER + +.. data:: TT_MAC_LANGID_UKRAINIAN + +.. data:: TT_MAC_LANGID_FINNISH + +.. data:: TT_MAC_LANGID_POLISH + +.. data:: TT_MAC_LANGID_NEPALI + +.. data:: TT_MAC_LANGID_UZBEK + +.. data:: TT_MAC_LANGID_TELUGU + +.. data:: TT_MAC_LANGID_MALTESE + +.. data:: TT_MAC_LANGID_AFRIKAANS + +.. data:: TT_MAC_LANGID_CHEWA + +.. data:: TT_MAC_LANGID_BASQUE + +.. data:: TT_MAC_LANGID_CZECH + +.. data:: TT_MAC_LANGID_ROMANIAN + +.. data:: TT_MAC_LANGID_QUECHUA + +.. data:: TT_MAC_LANGID_TAGALOG + +.. data:: TT_MAC_LANGID_HUNGARIAN + +.. data:: TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT + +.. data:: TT_MAC_LANGID_TONGAN + +.. data:: TT_MAC_LANGID_SUNDANESE + +.. data:: TT_MAC_LANGID_JAPANESE + +.. data:: TT_MAC_LANGID_MONGOLIAN + +.. data:: TT_MAC_LANGID_ALBANIAN + +.. data:: TT_MAC_LANGID_NORWEGIAN + +.. data:: TT_MAC_LANGID_SLOVAK + +.. data:: TT_MAC_LANGID_MALAGASY + +.. data:: TT_MAC_LANGID_DZONGKHA + +.. data:: TT_MAC_LANGID_DUTCH + +.. data:: TT_MAC_LANGID_MALAY_ROMAN_SCRIPT + +.. data:: TT_MAC_LANGID_SERBIAN + +.. data:: TT_MAC_LANGID_GERMAN + +.. data:: TT_MAC_LANGID_SOMALI + +.. data:: TT_MAC_LANGID_KOREAN + +.. data:: TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT + +.. data:: TT_MAC_LANGID_CROATIAN + +.. data:: TT_MAC_LANGID_TURKISH + +.. data:: TT_MAC_LANGID_MOLDAVIAN + +.. data:: TT_MAC_LANGID_LAO + +.. data:: TT_MAC_LANGID_ORIYA + +.. data:: TT_MAC_LANGID_BRETON + +.. data:: TT_MAC_LANGID_PASHTO + +.. data:: TT_MAC_LANGID_GUARANI + +.. data:: TT_MAC_LANGID_HEBREW + +.. data:: TT_MAC_LANGID_SLOVENIAN + +.. data:: TT_MAC_LANGID_ESTONIAN + +.. data:: TT_MAC_LANGID_RUNDI + +.. data:: TT_MAC_LANGID_URDU + +.. data:: TT_MAC_LANGID_CHINESE_TRADITIONAL + +.. data:: TT_MAC_LANGID_TATAR + +.. data:: TT_MAC_LANGID_CHINESE_SIMPLIFIED + +.. data:: TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT + +.. data:: TT_MAC_LANGID_SANSKRIT + +.. data:: TT_MAC_LANGID_KURDISH + +.. data:: TT_MAC_LANGID_FAEROESE + +.. data:: TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT + +.. data:: TT_MAC_LANGID_TIGRINYA + +.. data:: TT_MAC_LANGID_THAI + +.. data:: TT_MAC_LANGID_DANISH + +.. data:: TT_MAC_LANGID_KAZAKH + +.. data:: TT_MAC_LANGID_YIDDISH + +.. data:: TT_MAC_LANGID_ESPERANTO + +.. data:: TT_MAC_LANGID_LITHUANIAN + +.. data:: TT_MAC_LANGID_FARSI + +.. data:: TT_MAC_LANGID_LETTISH + +.. data:: TT_MAC_LANGID_VIETNAMESE + +.. data:: TT_MAC_LANGID_PORTUGUESE + +.. data:: TT_MAC_LANGID_IRISH + +.. data:: TT_MAC_LANGID_WELSH + +.. data:: TT_MAC_LANGID_PUNJABI + +.. data:: TT_MAC_LANGID_GREEK + +.. data:: TT_MAC_LANGID_INUKTITUT + +.. data:: TT_MAC_LANGID_FRENCH + +.. data:: TT_MAC_LANGID_GREEK_POLYTONIC + +.. data:: TT_MAC_LANGID_AZERBAIJANI + +.. data:: TT_MAC_LANGID_JAVANESE + +.. data:: TT_MAC_LANGID_SWEDISH + +.. data:: TT_MAC_LANGID_UIGHUR + +.. data:: TT_MAC_LANGID_BENGALI + +.. data:: TT_MAC_LANGID_RUANDA + +.. data:: TT_MAC_LANGID_SINDHI + +.. data:: TT_MAC_LANGID_TIBETAN + +.. data:: TT_MAC_LANGID_ENGLISH + +.. data:: TT_MAC_LANGID_SAAMISK + +.. data:: TT_MAC_LANGID_INDONESIAN + +.. data:: TT_MAC_LANGID_MANX_GAELIC + +.. data:: TT_MAC_LANGID_BYELORUSSIAN + +.. data:: TT_MAC_LANGID_BULGARIAN + +.. data:: TT_MAC_LANGID_GEORGIAN + +.. data:: TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT + +.. data:: TT_MAC_LANGID_ITALIAN + +.. data:: TT_MAC_LANGID_SCOTTISH_GAELIC + +.. data:: TT_MAC_LANGID_ARMENIAN + +.. data:: TT_MAC_LANGID_GALLA + +.. data:: TT_MAC_LANGID_MACEDONIAN + +.. data:: TT_MAC_LANGID_IRISH_GAELIC + +.. data:: TT_MAC_LANGID_KIRGHIZ + +.. data:: TT_MAC_LANGID_TAMIL + +.. data:: TT_MAC_LANGID_SPANISH + +.. data:: TT_MAC_LANGID_BURMESE + +.. data:: TT_MAC_LANGID_KANNADA + +.. data:: TT_MAC_LANGID_GALICIAN + +.. data:: TT_MAC_LANGID_FLEMISH + +.. data:: TT_MAC_LANGID_TAJIKI + +.. data:: TT_MAC_LANGID_ASSAMESE + +.. data:: TT_MAC_LANGID_SINHALESE + +.. data:: TT_MAC_LANGID_GREELANDIC + +.. data:: TT_MAC_LANGID_AMHARIC + +.. data:: TT_MAC_LANGID_KASHMIRI + +.. data:: TT_MAC_LANGID_AYMARA + +.. data:: TT_MAC_LANGID_GUJARATI + +.. data:: TT_MAC_LANGID_RUSSIAN + +.. data:: TT_MAC_LANGID_TURKMEN + +.. data:: TT_MAC_LANGID_MALAYALAM + diff --git a/third_party/freetype-py/doc/tt_ms_ids.rst b/third_party/freetype-py/doc/tt_ms_ids.rst new file mode 100644 index 0000000..ede063c --- /dev/null +++ b/third_party/freetype-py/doc/tt_ms_ids.rst @@ -0,0 +1,49 @@ +TT_MS_IDS +========= + +A list of valid values for the 'encoding_id' for TT_PLATFORM_MICROSOFT +charmaps and name entries. + + +.. data:: TT_MS_ID_SYMBOL_CS + + Corresponds to Microsoft symbol encoding. See FT_ENCODING_MS_SYMBOL. + + +.. data:: TT_MS_ID_UNICODE_CS + + Corresponds to a Microsoft WGL4 charmap, matching Unicode. See + FT_ENCODING_UNICODE. + + +.. data:: TT_MS_ID_SJIS + + Corresponds to SJIS Japanese encoding. See FT_ENCODING_SJIS. + + +.. data:: TT_MS_ID_GB2312 + + Corresponds to Simplified Chinese as used in Mainland China. See + FT_ENCODING_GB2312. + + +.. data:: TT_MS_ID_BIG_5 + + Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. See + FT_ENCODING_BIG5. + + +.. data:: TT_MS_ID_WANSUNG + + Corresponds to Korean Wansung encoding. See FT_ENCODING_WANSUNG. + +.. data:: TT_MS_ID_JOHAB + + Corresponds to Johab encoding. See FT_ENCODING_JOHAB. + + +.. data:: TT_MS_ID_UCS_4 + + Corresponds to UCS-4 or UTF-32 charmaps. This has been added to the OpenType + specification version 1.4 (mid-2001.) + diff --git a/third_party/freetype-py/doc/tt_ms_langids.rst b/third_party/freetype-py/doc/tt_ms_langids.rst new file mode 100644 index 0000000..bd0a71f --- /dev/null +++ b/third_party/freetype-py/doc/tt_ms_langids.rst @@ -0,0 +1,496 @@ +TT_MS_LANGIDS +============= + +Possible values of the language identifier field in the name records of the +TTF 'name' table if the 'platform' identifier code is TT_PLATFORM_MICROSOFT. + +.. data:: TT_MS_LANGID_SANSKRIT_INDIA + +.. data:: TT_MS_LANGID_ENGLISH_UNITED_KINGDOM + +.. data:: TT_MS_LANGID_ENGLISH_BELIZE + +.. data:: TT_MS_LANGID_ARABIC_LEBANON + +.. data:: TT_MS_LANGID_MOLDAVIAN_MOLDAVIA + +.. data:: TT_MS_LANGID_TURKISH_TURKEY + +.. data:: TT_MS_LANGID_WELSH_WALES + +.. data:: TT_MS_LANGID_GERMAN_AUSTRIA + +.. data:: TT_MS_LANGID_DUTCH_BELGIUM + +.. data:: TT_MS_LANGID_YI_CHINA + +.. data:: TT_MS_LANGID_QUECHUA_ECUADOR + +.. data:: TT_MS_LANGID_SPANISH_EL_SALVADOR + +.. data:: TT_MS_LANGID_SWAHILI_KENYA + +.. data:: TT_MS_LANGID_QUECHUA_BOLIVIA + +.. data:: TT_MS_LANGID_SLOVENE_SLOVENIA + +.. data:: TT_MS_LANGID_ORIYA_INDIA + +.. data:: TT_MS_LANGID_FARSI_IRAN + +.. data:: TT_MS_LANGID_ENGLISH_CANADA + +.. data:: TT_MS_LANGID_NEPALI_NEPAL + +.. data:: TT_MS_LANGID_DHIVEHI_MALDIVES + +.. data:: TT_MS_LANGID_GERMAN_LIECHTENSTEI + +.. data:: TT_MS_LANGID_TAMIL_INDIA + +.. data:: TT_MS_LANGID_ARABIC_UAE + +.. data:: TT_MS_LANGID_JAPANESE_JAPAN + +.. data:: TT_MS_LANGID_TAMAZIGHT_MOROCCO + +.. data:: TT_MS_LANGID_FRENCH_FRANCE + +.. data:: TT_MS_LANGID_CHINESE_MACAU + +.. data:: TT_MS_LANGID_VIETNAMESE_VIET_NAM + +.. data:: TT_MS_LANGID_HEBREW_ISRAEL + +.. data:: TT_MS_LANGID_SAMI_NORTHERN_SWEDEN + +.. data:: TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN + +.. data:: TT_MS_LANGID_SWEDISH_SWEDEN + +.. data:: TT_MS_LANGID_FRENCH_REUNION + +.. data:: TT_MS_LANGID_ARABIC_BAHRAIN + +.. data:: TT_MS_LANGID_ENGLISH_INDIA + +.. data:: TT_MS_LANGID_NEPALI_INDIA + +.. data:: TT_MS_LANGID_THAI_THAILAND + +.. data:: TT_MS_LANGID_ENGLISH_GENERAL + +.. data:: TT_MS_LANGID_SAMI_LULE_NORWAY + +.. data:: TT_MS_LANGID_ARABIC_OMAN + +.. data:: TT_MS_LANGID_SPANISH_HONDURAS + +.. data:: TT_MS_LANGID_ENGLISH_JAMAICA + +.. data:: TT_MS_LANGID_ESTONIAN_ESTONIA + +.. data:: TT_MS_LANGID_FRISIAN_NETHERLANDS + +.. data:: TT_MS_LANGID_LATIN + +.. data:: TT_MS_LANGID_ENGLISH_INDONESIA + +.. data:: TT_MS_LANGID_ENGLISH_IRELAND + +.. data:: TT_MS_LANGID_TIBETAN_CHINA + +.. data:: TT_MS_LANGID_PUNJABI_INDIA + +.. data:: TT_MS_LANGID_FRENCH_MALI + +.. data:: TT_MS_LANGID_GERMAN_LUXEMBOURG + +.. data:: TT_MS_LANGID_SUTU_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_FRENCH_CAMEROON + +.. data:: TT_MS_LANGID_FRENCH_CONGO + +.. data:: TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA + +.. data:: TT_MS_LANGID_MALAYALAM_INDIA + +.. data:: TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN + +.. data:: TT_MS_LANGID_CHEROKEE_UNITED_STATES + +.. data:: TT_MS_LANGID_SPANISH_GUATEMALA + +.. data:: TT_MS_LANGID_CZECH_CZECH_REPUBLIC + +.. data:: TT_MS_LANGID_MANIPURI_INDIA + +.. data:: TT_MS_LANGID_ENGLISH_AUSTRALIA + +.. data:: TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC + +.. data:: TT_MS_LANGID_ARABIC_LIBYA + +.. data:: TT_MS_LANGID_FRENCH_WEST_INDIES + +.. data:: TT_MS_LANGID_ENGLISH_TRINIDAD + +.. data:: TT_MS_LANGID_ARABIC_QATAR + +.. data:: TT_MS_LANGID_SPANISH_COLOMBIA + +.. data:: TT_MS_LANGID_GUARANI_PARAGUAY + +.. data:: TT_MS_LANGID_EDO_NIGERIA + +.. data:: TT_MS_LANGID_SEPEDI_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_ENGLISH_HONG_KONG + +.. data:: TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA + +.. data:: TT_MS_LANGID_TATAR_TATARSTAN + +.. data:: TT_MS_LANGID_PASHTO_AFGHANISTAN + +.. data:: TT_MS_LANGID_KASHMIRI_PAKISTAN + +.. data:: TT_MS_LANGID_GALICIAN_SPAIN + +.. data:: TT_MS_LANGID_TAJIK_TAJIKISTAN + +.. data:: TT_MS_LANGID_SAMI_INARI_FINLAND + +.. data:: TT_MS_LANGID_KASHMIRI_SASIA + +.. data:: TT_MS_LANGID_SPANISH_ARGENTINA + +.. data:: TT_MS_LANGID_SAMI_SOUTHERN_NORWAY + +.. data:: TT_MS_LANGID_CROATIAN_CROATIA + +.. data:: TT_MS_LANGID_GUJARATI_INDIA + +.. data:: TT_MS_LANGID_TIBETAN_BHUTAN + +.. data:: TT_MS_LANGID_TIGRIGNA_ETHIOPIA + +.. data:: TT_MS_LANGID_FINNISH_FINLAND + +.. data:: TT_MS_LANGID_ENGLISH_UNITED_STATES + +.. data:: TT_MS_LANGID_ITALIAN_SWITZERLAND + +.. data:: TT_MS_LANGID_ARABIC_EGYPT + +.. data:: TT_MS_LANGID_SPANISH_LATIN_AMERICA + +.. data:: TT_MS_LANGID_LITHUANIAN_LITHUANIA + +.. data:: TT_MS_LANGID_ARABIC_ALGERIA + +.. data:: TT_MS_LANGID_MALAY_MALAYSIA + +.. data:: TT_MS_LANGID_ARABIC_GENERAL + +.. data:: TT_MS_LANGID_CHINESE_PRC + +.. data:: TT_MS_LANGID_BENGALI_BANGLADESH + +.. data:: TT_MS_LANGID_SPANISH_PERU + +.. data:: TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT + +.. data:: TT_MS_LANGID_DIVEHI_MALDIVES + +.. data:: TT_MS_LANGID_LATVIAN_LATVIA + +.. data:: TT_MS_LANGID_TURKMEN_TURKMENISTAN + +.. data:: TT_MS_LANGID_XHOSA_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_KHMER_CAMBODIA + +.. data:: TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK + +.. data:: TT_MS_LANGID_ARABIC_MOROCCO + +.. data:: TT_MS_LANGID_FRENCH_SENEGAL + +.. data:: TT_MS_LANGID_YORUBA_NIGERIA + +.. data:: TT_MS_LANGID_CATALAN_SPAIN + +.. data:: TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_ZULU_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_SPANISH_URUGUAY + +.. data:: TT_MS_LANGID_SPANISH_ECUADOR + +.. data:: TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA + +.. data:: TT_MS_LANGID_CHINESE_GENERAL + +.. data:: TT_MS_LANGID_SPANISH_PARAGUAY + +.. data:: TT_MS_LANGID_HINDI_INDIA + +.. data:: TT_MS_LANGID_FRENCH_LUXEMBOURG + +.. data:: TT_MS_LANGID_TSWANA_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_HUNGARIAN_HUNGARY + +.. data:: TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA + +.. data:: TT_MS_LANGID_ENGLISH_SINGAPORE + +.. data:: TT_MS_LANGID_MALTESE_MALTA + +.. data:: TT_MS_LANGID_SAMI_NORTHERN_FINLAND + +.. data:: TT_MS_LANGID_FRENCH_CANADA + +.. data:: TT_MS_LANGID_SAMI_LULE_SWEDEN + +.. data:: TT_MS_LANGID_KANURI_NIGERIA + +.. data:: TT_MS_LANGID_IRISH_GAELIC_IRELAND + +.. data:: TT_MS_LANGID_ARABIC_SAUDI_ARABIA + +.. data:: TT_MS_LANGID_FRENCH_HAITI + +.. data:: TT_MS_LANGID_SPANISH_PUERTO_RICO + +.. data:: TT_MS_LANGID_BURMESE_MYANMAR + +.. data:: TT_MS_LANGID_POLISH_POLAND + +.. data:: TT_MS_LANGID_PORTUGUESE_PORTUGAL + +.. data:: TT_MS_LANGID_ENGLISH_CARIBBEAN + +.. data:: TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC + +.. data:: TT_MS_LANGID_ICELANDIC_ICELAND + +.. data:: TT_MS_LANGID_BENGALI_INDIA + +.. data:: TT_MS_LANGID_HAUSA_NIGERIA + +.. data:: TT_MS_LANGID_BASQUE_SPAIN + +.. data:: TT_MS_LANGID_UIGHUR_CHINA + +.. data:: TT_MS_LANGID_ENGLISH_MALAYSIA + +.. data:: TT_MS_LANGID_FRENCH_MONACO + +.. data:: TT_MS_LANGID_SPANISH_BOLIVIA + +.. data:: TT_MS_LANGID_SORBIAN_GERMANY + +.. data:: TT_MS_LANGID_SINDHI_INDIA + +.. data:: TT_MS_LANGID_CHINESE_SINGAPORE + +.. data:: TT_MS_LANGID_FRENCH_COTE_D_IVOIRE + +.. data:: TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT + +.. data:: TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC + +.. data:: TT_MS_LANGID_SAMI_SKOLT_FINLAND + +.. data:: TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC + +.. data:: TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM + +.. data:: TT_MS_LANGID_ARABIC_JORDAN + +.. data:: TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN + +.. data:: TT_MS_LANGID_SERBIAN_SERBIA_LATIN + +.. data:: TT_MS_LANGID_RUSSIAN_RUSSIA + +.. data:: TT_MS_LANGID_ROMANIAN_ROMANIA + +.. data:: TT_MS_LANGID_FRENCH_NORTH_AFRICA + +.. data:: TT_MS_LANGID_MONGOLIAN_MONGOLIA + +.. data:: TT_MS_LANGID_TSONGA_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_SOMALI_SOMALIA + +.. data:: TT_MS_LANGID_SAAMI_LAPONIA + +.. data:: TT_MS_LANGID_SPANISH_COSTA_RICA + +.. data:: TT_MS_LANGID_ARABIC_SYRIA + +.. data:: TT_MS_LANGID_SPANISH_PANAMA + +.. data:: TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES + +.. data:: TT_MS_LANGID_ASSAMESE_INDIA + +.. data:: TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM + +.. data:: TT_MS_LANGID_DUTCH_NETHERLANDS + +.. data:: TT_MS_LANGID_SINDHI_PAKISTAN + +.. data:: TT_MS_LANGID_MACEDONIAN_MACEDONIA + +.. data:: TT_MS_LANGID_KAZAK_KAZAKSTAN + +.. data:: TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN + +.. data:: TT_MS_LANGID_BELARUSIAN_BELARUS + +.. data:: TT_MS_LANGID_FRENCH_MOROCCO + +.. data:: TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN + +.. data:: TT_MS_LANGID_ALBANIAN_ALBANIA + +.. data:: TT_MS_LANGID_SINHALESE_SRI_LANKA + +.. data:: TT_MS_LANGID_SPANISH_MEXICO + +.. data:: TT_MS_LANGID_ENGLISH_ZIMBABWE + +.. data:: TT_MS_LANGID_OROMO_ETHIOPIA + +.. data:: TT_MS_LANGID_INDONESIAN_INDONESIA + +.. data:: TT_MS_LANGID_SAMI_NORTHERN_NORWAY + +.. data:: TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN + +.. data:: TT_MS_LANGID_SLOVAK_SLOVAKIA + +.. data:: TT_MS_LANGID_KASHMIRI_INDIA + +.. data:: TT_MS_LANGID_GERMAN_SWITZERLAND + +.. data:: TT_MS_LANGID_URDU_INDIA + +.. data:: TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS + +.. data:: TT_MS_LANGID_SYRIAC_SYRIA + +.. data:: TT_MS_LANGID_SPANISH_CHILE + +.. data:: TT_MS_LANGID_FILIPINO_PHILIPPINES + +.. data:: TT_MS_LANGID_ARABIC_YEMEN + +.. data:: TT_MS_LANGID_KONKANI_INDIA + +.. data:: TT_MS_LANGID_AMHARIC_ETHIOPIA + +.. data:: TT_MS_LANGID_ENGLISH_NEW_ZEALAND + +.. data:: TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND + +.. data:: TT_MS_LANGID_ARABIC_TUNISIA + +.. data:: TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_QUECHUA_PERU + +.. data:: TT_MS_LANGID_DANISH_DENMARK + +.. data:: TT_MS_LANGID_ENGLISH_PHILIPPINES + +.. data:: TT_MS_LANGID_SPANISH_NICARAGUA + +.. data:: TT_MS_LANGID_INUKTITUT_CANADA + +.. data:: TT_MS_LANGID_UKRAINIAN_UKRAINE + +.. data:: TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL + +.. data:: TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC + +.. data:: TT_MS_LANGID_FRENCH_BELGIUM + +.. data:: TT_MS_LANGID_ENGLISH_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_HAWAIIAN_UNITED_STATES + +.. data:: TT_MS_LANGID_ARABIC_IRAQ + +.. data:: TT_MS_LANGID_KANNADA_INDIA + +.. data:: TT_MS_LANGID_DZONGHKA_BHUTAN + +.. data:: TT_MS_LANGID_CHINESE_TAIWAN + +.. data:: TT_MS_LANGID_SPANISH_UNITED_STATES + +.. data:: TT_MS_LANGID_ARMENIAN_ARMENIA + +.. data:: TT_MS_LANGID_LAO_LAOS + +.. data:: TT_MS_LANGID_TIGRIGNA_ERYTREA + +.. data:: TT_MS_LANGID_MARATHI_INDIA + +.. data:: TT_MS_LANGID_ARABIC_KUWAIT + +.. data:: TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN + +.. data:: TT_MS_LANGID_PORTUGUESE_BRAZIL + +.. data:: TT_MS_LANGID_TIGRIGNA_ERYTHREA + +.. data:: TT_MS_LANGID_GREEK_GREECE + +.. data:: TT_MS_LANGID_URDU_PAKISTAN + +.. data:: TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN + +.. data:: TT_MS_LANGID_YIDDISH_GERMANY + +.. data:: TT_MS_LANGID_GERMAN_GERMANY + +.. data:: TT_MS_LANGID_TELUGU_INDIA + +.. data:: TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC + +.. data:: TT_MS_LANGID_KOREAN_JOHAB_KOREA + +.. data:: TT_MS_LANGID_ITALIAN_ITALY + +.. data:: TT_MS_LANGID_MAORI_NEW_ZEALAND + +.. data:: TT_MS_LANGID_SPANISH_VENEZUELA + +.. data:: TT_MS_LANGID_IGBO_NIGERIA + +.. data:: TT_MS_LANGID_IBIBIO_NIGERIA + +.. data:: TT_MS_LANGID_CHINESE_HONG_KONG + +.. data:: TT_MS_LANGID_FRENCH_SWITZERLAND + +.. data:: TT_MS_LANGID_BULGARIAN_BULGARIA + +.. data:: TT_MS_LANGID_FULFULDE_NIGERIA + +.. data:: TT_MS_LANGID_RUSSIAN_MOLDAVIA + +.. data:: TT_MS_LANGID_VENDA_SOUTH_AFRICA + +.. data:: TT_MS_LANGID_GEORGIAN_GEORGIA + +.. data:: TT_MS_LANGID_SWEDISH_FINLAND + diff --git a/third_party/freetype-py/doc/tt_name_ids.rst b/third_party/freetype-py/doc/tt_name_ids.rst new file mode 100644 index 0000000..4134db6 --- /dev/null +++ b/third_party/freetype-py/doc/tt_name_ids.rst @@ -0,0 +1,50 @@ +TT_NAME_IDS +=========== + +Possible values of the 'name' identifier field in the name records of the TTF +'name' table. These values are platform independent. + +.. data:: TT_NAME_ID_COPYRIGHT + +.. data:: TT_NAME_ID_FONT_FAMILY + +.. data:: TT_NAME_ID_FONT_SUBFAMILY + +.. data:: TT_NAME_ID_UNIQUE_ID + +.. data:: TT_NAME_ID_FULL_NAME + +.. data:: TT_NAME_ID_VERSION_STRING + +.. data:: TT_NAME_ID_PS_NAME + +.. data:: TT_NAME_ID_TRADEMARK + +.. data:: TT_NAME_ID_MANUFACTURER + +.. data:: TT_NAME_ID_DESIGNER + +.. data:: TT_NAME_ID_DESCRIPTION + +.. data:: TT_NAME_ID_VENDOR_URL + +.. data:: TT_NAME_ID_DESIGNER_URL + +.. data:: TT_NAME_ID_LICENSE + +.. data:: TT_NAME_ID_LICENSE_URL + +.. data:: TT_NAME_ID_PREFERRED_FAMILY + +.. data:: TT_NAME_ID_PREFERRED_SUBFAMILY + +.. data:: TT_NAME_ID_MAC_FULL_NAME + +.. data:: TT_NAME_ID_SAMPLE_TEXT + +.. data:: TT_NAME_ID_CID_FINDFONT_NAME + +.. data:: TT_NAME_ID_WWS_FAMILY + +.. data:: TT_NAME_ID_WWS_SUBFAMILY + diff --git a/third_party/freetype-py/doc/tt_platforms.rst b/third_party/freetype-py/doc/tt_platforms.rst new file mode 100644 index 0000000..fd9a806 --- /dev/null +++ b/third_party/freetype-py/doc/tt_platforms.rst @@ -0,0 +1,47 @@ +TT_PLATFORMS +============ + +A list of valid values for the 'platform_id' identifier code in FT_CharMapRec +and FT_SfntName structures. + + +.. data:: TT_PLATFORM_APPLE_UNICODE + + Used by Apple to indicate a Unicode character map and/or name entry. See + TT_APPLE_ID_XXX for corresponding 'encoding_id' values. Note that name + entries in this format are coded as big-endian UCS-2 character codes only. + + +.. data:: TT_PLATFORM_MACINTOSH + + Used by Apple to indicate a MacOS-specific charmap and/or name entry. See + TT_MAC_ID_XXX for corresponding 'encoding_id' values. Note that most TrueType + fonts contain an Apple roman charmap to be usable on MacOS systems (even if + they contain a Microsoft charmap as well). + + +.. data:: TT_PLATFORM_ISO + + This value was used to specify ISO/IEC 10646 charmaps. It is however now + deprecated. See TT_ISO_ID_XXX for a list of corresponding 'encoding_id' + values. + + +.. data:: TT_PLATFORM_MICROSOFT + + Used by Microsoft to indicate Windows-specific charmaps. See TT_MS_ID_XXX for + a list of corresponding 'encoding_id' values. Note that most fonts contain a + Unicode charmap using (TT_PLATFORM_MICROSOFT, TT_MS_ID_UNICODE_CS). + + +.. data:: TT_PLATFORM_CUSTOM + + Used to indicate application-specific charmaps. + + +.. data:: TT_PLATFORM_ADOBE + + This value isn't part of any font format specification, but is used by + FreeType to report Adobe-specific charmaps in an FT_CharMapRec structure. See + TT_ADOBE_ID_XXX. + diff --git a/third_party/freetype-py/doc/usage.rst b/third_party/freetype-py/doc/usage.rst new file mode 100644 index 0000000..8d6e40d --- /dev/null +++ b/third_party/freetype-py/doc/usage.rst @@ -0,0 +1,12 @@ +============= +Usage example +============= + +.. code:: python + + import freetype + face = freetype.Face("Vera.ttf") + face.set_char_size( 48*64 ) + face.load_char('S') + bitmap = face.glyph.bitmap + print bitmap.buffer |