Commits on Source (26)
-
suzuki toshiya authored
* src/ftdump.c (FT_CID_MAX): New macro. (usage): Mention the CID coverage in `-c' and `-C' options. (Print_UInt_Range): New function to print 2 numbers with a separator if needed. (Print_CIDs): New function to print the implemented CIDs in a compressed syntax. If a case `gid_N < gid_M && CID_N > CID_M' is found, ftdump aborts and guide the user to file the issue. (Print_ROS_From_Face): New function to print the Registry, Ordering, and Supplement of the CID-keyed fonts, if available. If `-c' or `-C' option is given, Print_CIDs() is invoked. (main): Invoke Print_ROS_From_Face().
7c237f33 -
Werner Lemberg authored
Broken or intentionally invalidated fonts might contain NULL bytes at arbitrary places.
cca8c1cc -
Werner Lemberg authored
* src/ftdump.c (Print_MM_Axes): Move code to find an English name entry to... (get_english_name_entry): ... this new function.
2c53b921 -
Werner Lemberg authored
* src/ftdump.c (Print_MM_Axes): Rename to... (Print_MM_Info): ...this. Show Variation Font PostScript name prefix. Show named instances.
381fe118 -
Werner Lemberg authoredc7c92e58
-
1cdb9232
-
Werner Lemberg authoreda8f90d0e
-
Alexei Podtelezhnikov authored
It is wrong to forfeit the face ownership to the cache manager. Fixes #29. * src/ftbench.c (face_requester): Call `get face`. (main): Never pass `face` to the cache manager.
fb6dd3ee -
Ben Wagner authored
Building the demos with the CFI sanitizer detects a number of uses of undefined behavior in the Minimalist Graphics Subsystem where an indirect function call is made through a pointer of a different type. All of these cases worked in practice since the differing argument types were the same size and would have the same pointer value at runtime. Change the functions to take the correct types and downcast inside the function. * graph/beos/grbeos.cpp: remove casts * graph/mac/grmac.c: correct return type of `listen_event`, remove casts * graph/os2/gros2pm.c: correct function signatures, downcast inside functions, remove function pointer casts * graph/win32/grwin32.c: ditto * graph/x11/grx11.c: ditto
2ecaa369 -
Ben Wagner authored
The `icon_span` is used as a `FT_SpanFunc`. To avoid undefined behavior and a CFI sanitizer report, this function needs to called through a pointer of the same type. Fix this by making `icon_span` take the right parameter types and cast the argument in the function body. * src/ftcommon.c (icon_span): take correct parameters and cast in function body. (FTDemo_Icon): remove cast
37342861 -
Alexei Podtelezhnikov authoredb3ab39d7
-
Alexei Podtelezhnikov authored7eb15781
-
Alexei Podtelezhnikov authored
* src/ftbench.c (main): Run `FTC_Manager_New` and `FTC_*Cache_New` earlier and decide the test availability accordingly. (test_*_cache,benchmark): Do not check if cache is set.
9b8fe44e -
Werner Lemberg authored
* src/ftcommon.h (FTDemo_Handle): New field `use_svg`. * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Handle it. * src/ftview.c (Process_Event): Make key 'Z' toggle SVG usage. (event_help, write_header): Updated.
c3b88d26 -
The performance of MM fonts is quite different in comparison to static fonts. To be able to get benchmarks for the former, add a new command-line option to pass design coordinates. * src/ftbench.c: Include `ftmm.h`. (MAX_MM_AXES): New macro. (multimaster, design_pos, requested_pos, requested_cnt, used_num_axes): New global variables. (get_face): Load MM data if requested. (parse_design_coords): New function. * man/ftbench.1: Updated.
fad86757 -
e35e158b
-
Werner Lemberg authoredf7f8a47f
-
* src/rsvg-port.c (rsvg_port_preset_slot): Use `rsvg_handle_render_document` instead of `rsvg_handle_render_cairo`, and `rsvg_handle_render_layer` instead of `rsvg_handle_render_cairo_sub`, as suggested by the warning, conditionally on newer librsvg 2.52+. Signed-off-by:Hin-Tak Leung <htl10@users.sourceforge.net>
73c2159b -
Excerpts from `rsvg_handle_get_intrinsic_dimensions` section in `librsvg/rsvg.h`: ``` Before librsvg 2.54.0, the `out_has_width` and `out_has_height` arguments would be set to true or false depending on whether the SVG document actually had `width` and `height` attributes, respectively. However, since librsvg 2.54.0, `width` and `height` are now [geometry properties](https://www.w3.org/TR/SVG2/geometry.html ) per the SVG2 specification; they are not plain attributes. SVG2 made it so that the initial value of those properties is `auto`, which is equivalent to specifying a value of `100%`. In this sense, even SVG documents which lack `width` or `height` attributes semantically have to make them default to `100%`. This is why since librsvg 2.54.0, `out_has_width` and `out_has_heigth` are always returned as `TRUE`, since with SVG2 all documents *have* a default width and height of `100%`. ``` * src/rsvg-port.c (rsvg_port_preset_slot): Adjust for change of behavior of `rsvg_handle_get_intrinsic_dimensions` in librsvg 2.53+. We avoid `LIBRSVG_CHECK_VERSION` as it is possible to build against one version but run against another version. Signed-off-by:
Hin-Tak Leung <htl10@users.sourceforge.net>
626b43db -
Werner Lemberg authoredbe397b87
-
Werner Lemberg authored
========================== Tag sources with 'VER-2-13-1'. * README: Updated. * meson.build: Updated. * man/*.1: Updated. * subprojects/zlib.wrap: Updated.
54c8772e -
A somewhat similar change to what happened in the FreeType library: commit 95d635eab1b08a0051de07b6c33067d2c1984848 Author: Werner Lemberg <wl@gnu.org> Date: Sun May 7 08:34:32 2023 +0200 [truetype] Signature fixes. Signed-off-by:Hin-Tak Leung <htl10@users.sourceforge.net>
a94ddbe2 -
* src/rsvg-port.c (rsvg_port_preset_slot): Remove usage of `rsvg_handle_render_document` (and `rsvg_handle_render_cairo`). They are functionally the same as `rsvg_handle_render_layer` (and `rsvg_handle_render_cairo_sub`) with argument id set to NULL. Signed-off-by:Hin-Tak Leung <htl10@users.sourceforge.net>
2149b9c7 -
`TRUE` in this context is from glib headers (`glib-2.0/glib/gmacros.h`), imported indirectly from rsvg headers. It should not be used for comparison with `FT_Bool` types. Other usages of `TRUE/FALSE` in this file is okay. Signed-off-by:Hin-Tak Leung <htl10@users.sourceforge.net>
d4c3ac60 -
Charlie Jiang authored
-
Charlie Jiang authored
Now the named instance selector no longer doubles the default named instance. `FT_Get_Default_Named_Instance` is used to get the default NI index. The default one is labeled as " (default)". * src/ftinspect/widgets/tripletselector.cpp: Properly handle the new 1-based named instance indices. Label the default NI correctly. * src/ftinspect/engine/engine.cpp, src/ftinspect/engine/engine.hpp: Add `Engine::defualtNamedInstanceIndex`. * src/ftinspect/engine/mmgx.cpp: Change comments.