Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package freetype2 for openSUSE:Factory checked in at 2025-11-21 16:53:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/freetype2 (Old) and /work/SRC/openSUSE:Factory/.freetype2.new.2061 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "freetype2" Fri Nov 21 16:53:44 2025 rev:111 rq:1318307 version:2.14.1 Changes: -------- --- /work/SRC/openSUSE:Factory/freetype2/freetype2.changes 2025-10-21 11:14:43.618522914 +0200 +++ /work/SRC/openSUSE:Factory/.freetype2.new.2061/freetype2.changes 2025-11-21 16:54:13.680164933 +0100 @@ -1,0 +2,19 @@ +Mon Nov 17 17:45:55 UTC 2025 - Dirk Müller <[email protected]> + +- update to 2.14.1: + * The auto-hinter got new abilities. It can now better separate + diacritic glyphs from base glyphs at small sizes by + artificially moving diacritics up (or down) if necessary + * Tilde accent glyphs get vertically stretched at small sizes so + that they don't degenerate to horizontal lines. + * Diacritics directly attached to a base glyph (like the ogonek in + character 'ę') no longer distort the shape of the base glyph + * The TrueType instruction interpreter was optimized to + produce a 15% gain in the glyph loading speed. + * Handling of Variation Fonts is now considerably faster + * TrueType and CFF glyph loading speed has been improved by 5-10% + on modern 64-bit platforms as a result of better handling of + fixed-point multiplication. + * The BDF driver now loads fonts 75% faster. + +------------------------------------------------------------------- +++ only whitespace diff in changes, re-diffing Old: ---- freetype-2.13.3.tar.xz freetype-2.13.3.tar.xz.sig freetype-doc-2.13.3.tar.xz freetype-doc-2.13.3.tar.xz.sig ft2demos-2.13.3.tar.xz ft2demos-2.13.3.tar.xz.sig New: ---- freetype-2.14.1.tar.xz freetype-2.14.1.tar.xz.sig freetype-doc-2.14.1.tar.xz freetype-doc-2.14.1.tar.xz.sig ft2demos-2.14.1.tar.xz ft2demos-2.14.1.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ freetype2.spec ++++++ --- /var/tmp/diff_new_pack.PWpJFX/_old 2025-11-21 16:54:15.496241462 +0100 +++ /var/tmp/diff_new_pack.PWpJFX/_new 2025-11-21 16:54:15.496241462 +0100 @@ -16,9 +16,9 @@ # -%define doc_version 2.13.3 +%define doc_version 2.14.1 Name: freetype2 -Version: 2.13.3 +Version: 2.14.1 Release: 0 Summary: A TrueType Font Library License: FTL AND GPL-2.0-only ++++++ ft2demos.spec ++++++ --- /var/tmp/diff_new_pack.PWpJFX/_old 2025-11-21 16:54:15.532242978 +0100 +++ /var/tmp/diff_new_pack.PWpJFX/_new 2025-11-21 16:54:15.536243147 +0100 @@ -16,9 +16,9 @@ # -%global freetype_version 2.13.3 +%global freetype_version 2.14.1 Name: ft2demos -Version: 2.13.3 +Version: 2.14.1 Release: 0 Summary: Freetype2 Utilities and Demo Programs License: GPL-2.0-or-later ++++++ freetype-2.13.3.tar.xz -> freetype-2.14.1.tar.xz ++++++ ++++ 86931 lines of diff (skipped) ++++++ freetype-doc-2.13.3.tar.xz -> freetype-doc-2.14.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/README.freetype-doc new/freetype-2.14.1/README.freetype-doc --- old/freetype-2.13.3/README.freetype-doc 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/README.freetype-doc 2025-09-11 13:26:54.000000000 +0200 @@ -7,10 +7,10 @@ mkdir src cd src - tar xzvf freetype-2.13.3.tar.gz - tar xzvf freetype-doc-2.13.3.tar.gz + tar xzvf freetype-2.14.1.tar.gz + tar xzvf freetype-doc-2.14.1.tar.gz -Now you can move the `docs' subdirectory of `freetype-2.13.3' to any place +Now you can move the `docs' subdirectory of `freetype-2.14.1' to any place you want. The entry point for the documentation is diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/design/design-2.html new/freetype-2.14.1/docs/design/design-2.html --- old/freetype-2.13.3/docs/design/design-2.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/design/design-2.html 2025-09-11 13:26:54.000000000 +0200 @@ -110,7 +110,7 @@ charge of implementing memory management and input stream access, as well as <tt>ftinit</tt>, which is in charge of library initialization (i.e., implementing - the <a href="../reference/ft2-base_interface.html#ft_init_freetype"><code>FT_Init_FreeType</code></a> + the <a href="../reference/ft2-library_setup.html#ft_init_freetype"><code>FT_Init_FreeType</code></a> function).</p> </li> <li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/design/design-3.html new/freetype-2.14.1/docs/design/design-3.html --- old/freetype-2.13.3/docs/design/design-3.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/design/design-3.html 2025-09-11 13:26:54.000000000 +0200 @@ -155,7 +155,7 @@ destroy all its children (i.e., faces and modules).</p> <p>Typical client applications should - call <a href="../reference/ft2-base_interface.html#ft_init_freetype"><code>FT_Init_FreeType</code></a> + call <a href="../reference/ft2-library_setup.html#ft_init_freetype"><code>FT_Init_FreeType</code></a> in order to create a new library object, ready to be used for further actions.</p> @@ -181,7 +181,7 @@ <p>For now, one should consider that library objects are created with <tt>FT_Init_FreeType</tt>, and destroyed along with all children - with <a href="../reference/ft2-base_interface.html#ft_done_freetype"><code>FT_Done_FreeType</code></a>.</p> + with <a href="../reference/ft2-library_setup.html#ft_done_freetype"><code>FT_Done_FreeType</code></a>.</p> <h3 id="section-3">3. The <tt>FT_Face</tt> class</h3> @@ -192,7 +192,7 @@ Italic’ correspond to two distinct faces.</p> <p>A face object is normally created - through <a href="../reference/ft2-base_interface.html#ft_new_face"><code>FT_New_Face</code></a>. + through <a href="../reference/ft2-face_creation.html#ft_new_face"><code>FT_New_Face</code></a>. This function takes the following parameters: an <tt>FT_Library</tt> handle, a C file pathname used to indicate which font file to open, an index used to decide @@ -218,7 +218,7 @@ glyphs in the face, the face's family name, style name, the EM size for scalable formats, etc. For more details, look at - the <a href="../reference/ft2-base_interface.html#ft_facerec"><code>FT_FaceRec</code></a> + the <a href="../reference/ft2-face_creation.html#ft_facerec"><code>FT_FaceRec</code></a> definition in the FreeType 2 API Reference.</p> @@ -231,8 +231,8 @@ accessible as <tt>face->size</tt>.</p> <p>The contents of a size object can be changed by calling - <a href="../reference/ft2-base_interface.html#ft_request_size"><code>FT_Request_Size</code></a>, <a href="../reference/ft2-base_interface.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>, - or <a href="../reference/ft2-base_interface.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>.</p> + <a href="../reference/ft2-sizing_and_scaling.html#ft_request_size"><code>FT_Request_Size</code></a>, <a href="../reference/ft2-sizing_and_scaling.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>, + or <a href="../reference/ft2-sizing_and_scaling.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>.</p> <p>A new size object can be created with <a href="../reference/ft2-sizes_management.html#ft_new_size"><code>FT_New_Size</code></a>, @@ -245,7 +245,7 @@ <p>The public fields of <tt>FT_Size</tt> objects are defined in a very small structure - named <a href="../reference/ft2-base_interface.html#ft_sizerec"><code>FT_SizeRec</code></a>. + named <a href="../reference/ft2-sizing_and_scaling.html#ft_sizerec"><code>FT_SizeRec</code></a>. However, it is important to understand that some font drivers define their own derivatives of <tt>FT_Size</tt> to store important internal data that is re-computed each @@ -282,7 +282,7 @@ glyph.</p> <p>The - base <a href="../reference/ft2-base_interface.html#ft_glyphslotrec"><code>FT_GlyphSlotRec</code></a> + base <a href="../reference/ft2-glyph_retrieval.html#ft_glyphslotrec"><code>FT_GlyphSlotRec</code></a> structure only presents glyph metrics and images to client applications, while the actual implementation may contain more sophisticated data.</p> @@ -319,7 +319,7 @@ corresponding to it.</p> <p>Each font format provides its own derivative of - <a href="../reference/ft2-base_interface.html#ft_charmaprec"><code>FT_CharMapRec</code></a> + <a href="../reference/ft2-character_mapping.html#ft_charmaprec"><code>FT_CharMapRec</code></a> and thus needs to implement these objects.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/design/design-4.html new/freetype-2.14.1/docs/design/design-4.html --- old/freetype-2.13.3/docs/design/design-4.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/design/design-4.html 2025-09-11 13:26:54.000000000 +0200 @@ -123,7 +123,7 @@ implementation of streams if they wish so.</p> <p>The - function <a href="../reference/ft2-base_interface.html#ft_new_face"><code>FT_New_Face</code></a> + function <a href="../reference/ft2-face_creation.html#ft_new_face"><code>FT_New_Face</code></a> always automatically creates a new stream object from the C pathname given as its second argument. This is achieved by calling the (internal) function @@ -154,14 +154,14 @@ ‘broken file’.</p> <p>The - function <a href="../reference/ft2-base_interface.html#ft_new_memory_face"><code>FT_New_Memory_Face</code></a> + function <a href="../reference/ft2-face_creation.html#ft_new_memory_face"><code>FT_New_Memory_Face</code></a> can be used to directly create and open an <tt>FT_Face</tt> object from data that is readily available in memory (including ROM-based fonts).</p> <p>Finally, in the case where a custom input stream is needed, client applications can use the - function <a href="../reference/ft2-base_interface.html#ft_open_face"><code>FT_Open_Face</code></a>, + function <a href="../reference/ft2-face_creation.html#ft_open_face"><code>FT_Open_Face</code></a>, which can accept custom input streams. This may be useful in the case of compressed or remote font files, or even embedded font files that need to be extracted from certain @@ -169,7 +169,7 @@ <p>Note that each face owns a single stream, which is also destroyed - by <a href="../reference/ft2-base_interface.html#ft_done_face"><code>FT_Done_Face</code></a>.</p> + by <a href="../reference/ft2-face_creation.html#ft_done_face"><code>FT_Done_Face</code></a>.</p> <h3 id="section-3">3. Modules</h3> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/design/design-5.html new/freetype-2.14.1/docs/design/design-5.html --- old/freetype-2.13.3/docs/design/design-5.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/design/design-5.html 2025-09-11 13:26:54.000000000 +0200 @@ -249,7 +249,7 @@ hinting engine.</p> <p>A paper published in the EuroTeX 2003 proceedings, - titled <a href="http://www.tug.org/TUGboat/tb24-3/lemberg.pdf"><em>Real-Time + titled <a href="https://tug.org/TUGboat/tb24-3/lemberg.pdf"><em>Real-Time Grid Fitting of Typographic Outlines</em></a>, gives further insight into the auto-hinting system's inner workings.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/documentation.html new/freetype-2.14.1/docs/documentation.html --- old/freetype-2.13.3/docs/documentation.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/documentation.html 2025-09-11 13:26:54.000000000 +0200 @@ -75,7 +75,7 @@ <h3><a href="hinting/hinting.html">FreeType Hinting</a></h3> <!-- Leave this as full URL --> - <h3><a href="https://www.freetype.org/freetype2/docs/rasterinfo/rasterinfo.html">The + <h3><a href="https://freetype.org/freetype2/docs/rasterinfo/rasterinfo.html">The RasterInfo Font</a></h3> </div> @@ -161,7 +161,7 @@ </li> <li class="secondary"> <!-- Leave this as full URL --> - <a href="https://www.freetype.org/freetype2/docs/rasterinfo/rasterinfo.html">The + <a href="https://freetype.org/freetype2/docs/rasterinfo/rasterinfo.html">The RasterInfo Font</a> </li> </ul> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/ft2faq.html new/freetype-2.14.1/docs/ft2faq.html --- old/freetype-2.13.3/docs/ft2faq.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/ft2faq.html 2025-09-11 13:26:54.000000000 +0200 @@ -299,7 +299,7 @@ low memory usage.</p> <p>A good, freely available font editor - is <a href="https://fontforge.github.io">FontForge</a>.</p> + is <a href="https://fontforge.org/">FontForge</a>.</p> <a name="general-typesetting"></a> <h3>How do I render a line of text in FreeType?</h3> @@ -314,7 +314,7 @@ Cairo is able to do some primitive typesetting, including very basic translation of Unicode character codes to glyphs; for a more general solution, it - uses <a href="https://pango.gnome.org">Pango</a> for text + uses <a href="https://pango.org">Pango</a> for text layout, which in turn relies on <a href="https://harfbuzz.github.io/">HarfBuzz</a> to implement the full OpenType rules for glyph substitution @@ -328,7 +328,7 @@ <p>And finally, to cope with additional niceties like dealing with writing-system-specific rules for word breaks and line breaks, you might like to look at - <a href="http://www.icu-project.org">ICU</a>, which + <a href="https://icu-project.org/">ICU</a>, which includes a whole range of internationalization and localization facilities.</p> @@ -344,13 +344,13 @@ FreeType's source tree.</p> <p>For compilation on the command - line, <a href="https://www.gnu.org/software/make">GNU + line, <a href="https://www.gnu.org/software/make/">GNU make</a> is the standard tool. The source bundle also comes with support files for <a href="https://cmake.org">CMake</a> and <a href="https://mesonbuild.org">meson</a> builds, together with project files - for <a href="https://docs.microsoft.com/visualstudio/windows/">Visual + for <a href="https://learn.microsoft.com/visualstudio/windows/">Visual C++</a> and some other, older graphical IDEs. Note, however, that those files are sometimes not up to date since it is contributed code not used by the core @@ -397,7 +397,7 @@ <p>A rather complete description of the hinting algorithm (which is slightly out of date regarding the internal structures) can be found in the TUGboat - article <a href="http://www.tug.org/TUGboat/Articles/tb24-3/lemberg.pdf">Real-Time + article <a href="https://tug.org/TUGboat/Articles/tb24-3/lemberg.pdf">Real-Time Grid Fitting of Typographic Outlines</a>.</p> <p>The auto-hinter performs grid-fitting on scalable font @@ -407,9 +407,9 @@ its own hinter, the auto-hinter is used by default. If a format-specific hinter is provided, it is still possible to use the auto-hinter using - the <a href="https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_load_xxx"><code>FT_LOAD_FORCE_AUTOHINT</code></a> + the <a href="https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_xxx"><code>FT_LOAD_FORCE_AUTOHINT</code></a> bit flag when calling - function <a href="https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_load_glyph"><code>FT_Load_Glyph</code></a>.</p> + function <a href="https://freetype.org/freetype2/docs/reference/ft2-glyph_retrieval.html#ft_load_glyph"><code>FT_Load_Glyph</code></a>.</p> <p>Currently, the auto-hinter doesn't use external hints to do its job, as it automatically computes global metrics @@ -488,8 +488,8 @@ <p>Be aware that the <em>character size</em> that is set either through - function <a href="https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a> - or <a href="https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes()</code></a> + function <a href="https://freetype.org/freetype2/docs/reference/ft2-sizing_and_scaling.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a> + or <a href="https://freetype.org/freetype2/docs/reference/ft2-sizing_and_scaling.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes()</code></a> isn't directly related to the dimension of the generated glyph bitmaps!</p> @@ -573,13 +573,13 @@ <p>FreeType 2 no longer supports it. Before the general adoption - of <a href="https://docs.microsoft.com/en-us/typography/opentype/spec/">OpenType</a> + of <a href="https://learn.microsoft.com/typography/opentype/spec/">OpenType</a> in the font industry, text renderers implemented many hacks to handle vertical typesetting, like detection of the vertical writing mode by relying on modified font names, renderer-side rotation to obtain vertical glyph representation forms, or putting pre-rotated glyphs at - non-standard <a href="http://www.unicode.org/faq/private_use.html">Unicode + non-standard <a href="https://www.unicode.org/faq/private_use.html">Unicode PUA codepoints</a> in the font. Modern operating systems and font developers switched to TrueType GX and later to OpenType many years ago, and fonts designed for such diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/glyphs/glyphs-4.html new/freetype-2.14.1/docs/glyphs/glyphs-4.html --- old/freetype-2.13.3/docs/glyphs/glyphs-4.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/glyphs/glyphs-4.html 2025-09-11 13:26:54.000000000 +0200 @@ -131,8 +131,8 @@ For the interpretation of kerning data in the (highly sophisticated) ‘GPOS’ table you need a higher-level library - like <a href="http://icu-project.org/">ICU</a> or - <a href="http://harfbuzz.org">HarfBuzz</a> since it can be + like <a href="https://icu-project.org/">ICU</a> or + <a href="https://harfbuzz.github.io/">HarfBuzz</a> since it can be context dependent (this is, the kerning may vary depending on the position within a text string, for example).</p> Binary files old/freetype-2.13.3/docs/image/autohinter-old-new.png and new/freetype-2.14.1/docs/image/autohinter-old-new.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/tutorial/step1.html new/freetype-2.14.1/docs/tutorial/step1.html --- old/freetype-2.13.3/docs/tutorial/step1.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/tutorial/step1.html 2025-09-11 13:26:54.000000000 +0200 @@ -138,9 +138,9 @@ <h3 id="section-2">2. Library Initialization</h3> <p>To initialize the FreeType library, create a variable of - type <a href="../reference/ft2-base_interface.html#ft_library"><code>FT_Library</code></a> + type <a href="../reference/ft2-library_setup.html#ft_library"><code>FT_Library</code></a> named, for example, <code>library</code>, and call the - function <a href="../reference/ft2-base_interface.html#ft_init_freetype"><code>FT_Init_FreeType</code></a>.</p> + function <a href="../reference/ft2-library_setup.html#ft_init_freetype"><code>FT_Init_FreeType</code></a>.</p> <pre> #include <ft2build.h> @@ -186,7 +186,7 @@ <h4>a. From a Font File</h4> <p>Create a new <code>face</code> object by - calling <a href="../reference/ft2-base_interface.html#ft_new_face"><code>FT_New_Face</code></a>. + calling <a href="../reference/ft2-face_creation.html#ft_new_face"><code>FT_New_Face</code></a>. A <em>face</em> describes a given typeface and style. For example, ‘Times New Roman Regular’ and ‘Times New Roman Italic’ correspond to two @@ -258,7 +258,7 @@ <p>In the case where you have already loaded the font file into memory, you can similarly create a new face object for it by - calling <a href="../reference/ft2-base_interface.html#ft_new_memory_face"><code>FT_New_Memory_Face</code></a>.</p> + calling <a href="../reference/ft2-face_creation.html#ft_new_memory_face"><code>FT_New_Memory_Face</code></a>.</p> <pre> FT_Library library; <span class="comment">/* handle to library */</span> @@ -283,7 +283,7 @@ <p>Note that you must not deallocate the font file buffer before calling - <a href="../reference/ft2-base_interface.html#ft_done_face"><code>FT_Done_Face</code></a>.</p> + <a href="../reference/ft2-face_creation.html#ft_done_face"><code>FT_Done_Face</code></a>.</p> <h4>c. From Other Sources (Compressed Files, Network, etc.)</h4> @@ -294,7 +294,7 @@ implementation of I/O routines.</p> <p>This is done through - the <a href="../reference/ft2-base_interface.html#ft_open_face"><code>FT_Open_Face</code></a> + the <a href="../reference/ft2-face_creation.html#ft_open_face"><code>FT_Open_Face</code></a> function, which can be used to open a new font face with a custom input stream, select a specific driver for opening, or even pass extra parameters to the font driver when @@ -311,7 +311,7 @@ in <code>face−>num_glyphs</code>.</p> <p>The complete list of available fields is in - the <a href="../reference/ft2-base_interface.html#ft_facerec"><code>FT_FaceRec</code></a> + the <a href="../reference/ft2-face_creation.html#ft_facerec"><code>FT_FaceRec</code></a> structure description. However, we describe here a few of them in more detail.</p> @@ -329,7 +329,7 @@ face's font format is scalable and that glyph images can be rendered for all character pixel sizes. For more information on face flags, please read - the <a href="../reference/ft2-base_interface.html#ft_face_flag_xxx">FreeType 2 + the <a href="../reference/ft2-face_creation.html#ft_face_flag_xxx">FreeType 2 API Reference</a>.</dd> <dt>units_per_EM</dt> @@ -348,7 +348,7 @@ <dt>available_sizes</dt> <dd> <p>A pointer to an array - of <a href="../reference/ft2-base_interface.html#ft_bitmap_size"><code>FT_Bitmap_Size</code></a> + of <a href="../reference/ft2-sizing_and_scaling.html#ft_bitmap_size"><code>FT_Bitmap_Size</code></a> elements. Each <code>FT_Bitmap_Size</code> indicates the horizontal and vertical <em>character pixel sizes</em> for each of the strikes that are present in @@ -388,7 +388,7 @@ <p>When a new face object is created, all elements are set to 0 during initialization. To populate the structure with sensible values, you should - call <a href="../reference/ft2-base_interface.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>. + call <a href="../reference/ft2-sizing_and_scaling.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>. Here is an example, setting the character size to 16pt for a 300×300dpi device:</p> @@ -438,7 +438,7 @@ <p>If you want to specify the (integer) pixel sizes yourself, you can call - <a href="../reference/ft2-base_interface.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>.</p> + <a href="../reference/ft2-sizing_and_scaling.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>.</p> <pre> error = FT_Set_Pixel_Sizes( @@ -499,7 +499,7 @@ contains at least a Unicode charmap that was selected during a call to <code>FT_New_Face</code>. To convert a Unicode character code to a font glyph index, we use - <a href="../reference/ft2-base_interface.html#ft_get_char_index"><code>FT_Get_Char_Index</code></a>.</p> + <a href="../reference/ft2-character_mapping.html#ft_get_char_index"><code>FT_Get_Char_Index</code></a>.</p> <pre> glyph_index = FT_Get_Char_Index( face, charcode );</pre> @@ -542,11 +542,11 @@ face object has a single glyph slot object that can be accessed as <code>face->glyph</code>. Its fields are explained by - the <a href="../reference/ft2-base_interface.html#ft_glyphslotrec"><code>FT_GlyphSlotRec</code></a> + the <a href="../reference/ft2-glyph_retrieval.html#ft_glyphslotrec"><code>FT_GlyphSlotRec</code></a> structure documentation.</p> <p>Loading a glyph image into the slot is performed by - calling <a href="../reference/ft2-base_interface.html#ft_load_glyph"><code>FT_Load_Glyph</code></a>.</p> + calling <a href="../reference/ft2-glyph_retrieval.html#ft_load_glyph"><code>FT_Load_Glyph</code></a>.</p> <pre> error = FT_Load_Glyph( @@ -581,7 +581,7 @@ the slot. If it is not <code>FT_GLYPH_FORMAT_BITMAP</code>, one can immediately convert it to a bitmap - through <a href="../reference/ft2-base_interface.html#ft_render_glyph"><code>FT_Render_Glyph</code></a>.</p> + through <a href="../reference/ft2-glyph_retrieval.html#ft_render_glyph"><code>FT_Render_Glyph</code></a>.</p> <pre> error = FT_Render_Glyph( face->glyph, <span class="comment">/* glyph slot */</span> @@ -595,7 +595,7 @@ can alternatively use <code>FT_RENDER_MODE_MONO</code> if you want to generate a 1-bit monochrome bitmap. More values are available for - the <a href="../reference/ft2-base_interface.html#ft_render_mode"><code>FT_Render_Mode</code></a> + the <a href="../reference/ft2-glyph_retrieval.html#ft_render_mode"><code>FT_Render_Mode</code></a> enumeration value.</p> <p>Once you have a bitmapped glyph image, you can access it @@ -631,7 +631,7 @@ in <code>FT_FREETYPE_H</code>, for example <code>FT_ENCODING_BIG5</code>. In this case, you can call - <a href="../reference/ft2-base_interface.html#ft_select_charmap"><code>FT_Select_Charmap</code></a>.</p> + <a href="../reference/ft2-character_mapping.html#ft_select_charmap"><code>FT_Select_Charmap</code></a>.</p> <pre> error = FT_Select_Charmap( @@ -689,14 +689,14 @@ <p>Once a charmap has been selected, either through <code>FT_Select_Charmap</code> - or <a href="../reference/ft2-base_interface.html#ft_set_charmap"><code>FT_Set_Charmap</code></a>, + or <a href="../reference/ft2-character_mapping.html#ft_set_charmap"><code>FT_Set_Charmap</code></a>, it is used by all subsequent calls to <code>FT_Get_Char_Index</code>.</p> <h4>d. Glyph Transformations</h4> <p>It is possible to specify an affine transformation with - <a href="../reference/ft2-base_interface.html#ft_set_transform"><code>FT_Set_Transform</code></a>, + <a href="../reference/ft2-sizing_and_scaling.html#ft_set_transform"><code>FT_Set_Transform</code></a>, to be applied to glyph images when they are loaded. Of course, this only works for scalable (vectorial) font formats.</p> @@ -810,7 +810,7 @@ <ul> <li>We define a handle named <code>slot</code> that points to the face object's glyph slot. (The - type <a href="../reference/ft2-base_interface.html#ft_glyphslot"><code>FT_GlyphSlot</code></a> + type <a href="../reference/ft2-glyph_retrieval.html#ft_glyphslot"><code>FT_GlyphSlot</code></a> is a pointer). That is a convenience to avoid using <code>face->glyph->XXX</code> every time.</li> @@ -881,7 +881,7 @@ <ul> <li>We use the - function <a href="../reference/ft2-base_interface.html#ft_load_char"><code>FT_Load_Char</code></a> + function <a href="../reference/ft2-character_mapping.html#ft_load_char"><code>FT_Load_Char</code></a> instead of <code>FT_Load_Glyph</code>. As you probably imagine, it is equivalent to calling <code>FT_Get_Char_Index</code>, then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/tutorial/step2.html new/freetype-2.14.1/docs/tutorial/step2.html --- old/freetype-2.13.3/docs/tutorial/step2.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/tutorial/step2.html 2025-09-11 13:26:54.000000000 +0200 @@ -69,14 +69,14 @@ <p>Note that only a few font formats provide vertical metrics. You can test whether a given face object contains them by using the - macro <a href="../reference/ft2-base_interface.html#ft_has_vertical"><code>FT_HAS_VERTICAL</code></a>, + macro <a href="../reference/ft2-font_testing_macros.html#ft_has_vertical"><code>FT_HAS_VERTICAL</code></a>, which returns true if appropriate.</p> <p>Individual glyph metrics can be accessed by first loading the glyph in a face's glyph slot, then accessing them through the <code>face->glyph->metrics</code> structure, whose type - is <a href="../reference/ft2-base_interface.html#ft_glyph_metrics"><code>FT_Glyph_Metrics</code></a>. + is <a href="../reference/ft2-glyph_retrieval.html#ft_glyph_metrics"><code>FT_Glyph_Metrics</code></a>. We will discuss this in more detail below; for now, we only note that it contains the following fields.</p> @@ -89,7 +89,7 @@ <dd>This is the height of the glyph image's bounding box. It is independent of the layout direction. Be careful not to confuse it with the ‘height’ field in - the <a href="../reference/ft2-base_interface.html#ft_size_metrics"> + the <a href="../reference/ft2-sizing_and_scaling.html#ft_size_metrics"> <code>FT_Size_Metrics</code></a> structure.</dd> <dt>horiBearingX</dt> @@ -209,7 +209,7 @@ <p>The glyph image that is loaded in a glyph slot can be converted into a bitmap, either by using <code>FT_LOAD_RENDER</code> when loading it, or by - calling <a href="../reference/ft2-base_interface.html#ft_render_glyph"><code>FT_Render_Glyph</code></a>. + calling <a href="../reference/ft2-glyph_retrieval.html#ft_render_glyph"><code>FT_Render_Glyph</code></a>. Each time you load a new glyph image, the previous one is erased from the glyph slot.</p> @@ -574,7 +574,7 @@ of the global metrics described above, to be directly accessed through the <code>face->size->metrics</code> structure (of - type <a href="../reference/ft2-base_interface.html#ft_size_metrics"> + type <a href="../reference/ft2-sizing_and_scaling.html#ft_size_metrics"> <code>FT_Size_Metrics</code></a>). <em>No grid-fitting is performed for those values</em>. They are also completely independent of any hinting process. In other @@ -601,7 +601,7 @@ <p>Be careful not to confuse it with the ‘height’ field in - the <a href="../reference/ft2-base_interface.html#ft_glyph_metrics"><code>FT_Glyph_Metrics</code></a> + the <a href="../reference/ft2-glyph_retrieval.html#ft_glyph_metrics"><code>FT_Glyph_Metrics</code></a> structure.</p> </dd> @@ -637,9 +637,9 @@ table. <span class="important">OpenType kerning via the ‘GPOS’ table is not supported!</span> You need a higher-level library - like <a href="http://www.harfbuzz.org">HarfBuzz</a>, + like <a href="https://harfbuzz.github.io/">HarfBuzz</a>, <a href="http://www.pango.org">Pango</a>, - or <a href="http://www.icu-project.org">ICU</a>, since + or <a href="https://icu-project.org/">ICU</a>, since GPOS kerning requires contextual string handling.</p> <p>Sometimes, the font file is associated with an additional @@ -652,8 +652,8 @@ <p>FreeType 2 allows you to deal with this, by providing - the <a href="../reference/ft2-base_interface.html#ft_attach_file"><code>FT_Attach_File</code></a> - and <a href="../reference/ft2-base_interface.html#ft_attach_stream"><code>FT_Attach_Stream</code></A> + the <a href="../reference/ft2-face_creation.html#ft_attach_file"><code>FT_Attach_File</code></a> + and <a href="../reference/ft2-face_creation.html#ft_attach_stream"><code>FT_Attach_Stream</code></A> APIs. Both functions are used to load additional metrics into a face object by reading them from an additional format-specific file. Here an example, opening a @@ -682,7 +682,7 @@ <p>FreeType 2 allows you to retrieve the kerning information between two glyphs through - the <a href="../reference/ft2-base_interface.html#ft_get_kerning"><code>FT_Get_Kerning</code></a> + the <a href="../reference/ft2-glyph_retrieval.html#ft_get_kerning"><code>FT_Get_Kerning</code></a> function.</p> <pre> @@ -987,7 +987,7 @@ even necessary to actually render the glyphs because the rules for the conversion from outline to bitmap can also be controlled by hinting instructions - (cf. <a href="https://docs.microsoft.com/en-us/typography/opentype/spec/ttch01#the-scan-converter">dropout + (cf. <a href="https://learn.microsoft.com/typography/opentype/spec/ttch01#the-scan-converter">dropout control</a>).</p> <pre> @@ -1360,7 +1360,7 @@ <em>font units</em>. When a glyph image is loaded, the font driver usually scales the outline to device space according to the current character pixel size found in - an <a href="../reference/ft2-base_interface.html#ft_size"><code>FT_Size</code></a> + an <a href="../reference/ft2-sizing_and_scaling.html#ft_size"><code>FT_Size</code></a> object. The driver may also modify the scaled outline in order to significantly improve its appearance on a pixel-based surface (a process known as <em>hinting</em> @@ -1403,7 +1403,7 @@ if appropriate.</p> <p>When you call the - function <a href="../reference/ft2-base_interface.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>, + function <a href="../reference/ft2-sizing_and_scaling.html#ft_set_pixel_sizes"><code>FT_Set_Pixel_Sizes</code></a>, you are specifying integer values of <code>pixel_size_x</code> and <code>pixel_size_y</code> FreeType shall use. The library @@ -1412,7 +1412,7 @@ <code>y_scale</code>.</p> <p>When you call the - function <a href="../reference/ft2-base_interface.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>, + function <a href="../reference/ft2-sizing_and_scaling.html#ft_set_char_size"><code>FT_Set_Char_Size</code></a>, you are specifying the character size in physical <em>points</em>, which is used, along with the device's resolutions, to compute the character pixel size diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/freetype-2.13.3/docs/tutorial/step3.html new/freetype-2.14.1/docs/tutorial/step3.html --- old/freetype-2.13.3/docs/tutorial/step3.html 2024-08-12 13:44:12.000000000 +0200 +++ new/freetype-2.14.1/docs/tutorial/step3.html 2025-09-11 13:26:54.000000000 +0200 @@ -90,7 +90,7 @@ example5 LiberationSerif-Bold.ttf @ > example5.svg</pre> <p>(you can find the Liberation font - family <a href="https://fedorahosted.org/liberation-fonts/">here</a>).</p> + family <a href="https://github.com/liberationfonts">here</a>).</p> </div> <!-- ************************************************** --> ++++++ ft2demos-2.13.3.tar.xz -> ft2demos-2.14.1.tar.xz ++++++ ++++ 4954 lines of diff (skipped)
