FreeType Demo Programs merge requestshttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests2023-08-13T14:25:41Zhttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/44src/ftmulti.c: Miscellaneous spelling and readability fixes2023-08-13T14:25:41ZHugh McMastersrc/ftmulti.c: Miscellaneous spelling and readability fixes* Update comments.
* Fix a typo: dimentions -> dimensions.* Update comments.
* Fix a typo: dimentions -> dimensions.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/42Update ftbench to be able to pass design coordinates2023-05-19T05:16:20ZSeigo NonakaUpdate ftbench to be able to pass design coordinatesThe performance of variable font is quite different from the static
font. To be able to measure the benchmark of variable font, add new
commandline option to pass a design coordinates.The performance of variable font is quite different from the static
font. To be able to measure the benchmark of variable font, add new
commandline option to pass a design coordinates.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/36[ftinspect] Support gray level scaling.2023-03-15T04:59:47ZCharlie Jiang[ftinspect] Support gray level scaling.See 746d5be5: Convert to 256 grays. Slightly tweaked code style.See 746d5be5: Convert to 256 grays. Slightly tweaked code style.Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/35[ftinspect] Fix uninitialized memory issue and reference misuse.2023-03-03T08:53:36ZCharlie Jiang[ftinspect] Fix uninitialized memory issue and reference misuse.1. Properly initialize `FT_Bitmap` since it's a value type.
2. Fix the accident overwriting of the source bitmap when converting the bitmap format (only happens for `FT_PIXEL_MODE_GRAY2` and `FT_PIXEL_MODE_GRAY4`) due to misuse of C++ re...1. Properly initialize `FT_Bitmap` since it's a value type.
2. Fix the accident overwriting of the source bitmap when converting the bitmap format (only happens for `FT_PIXEL_MODE_GRAY2` and `FT_PIXEL_MODE_GRAY4`) due to misuse of C++ reference.
3. Fix the crash when the `QImage` was failed to produce.
Fixes #23 .Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/32[ftinspect] Change unclear comments.2022-10-04T00:29:06ZCharlie Jiang[ftinspect] Change unclear comments.* src/ftinspect/engine/fontinfo.hpp,
src/ftinspect/glyphcomponents/glyphcontinuous.cpp: Clearify comments.
* src/ftinspect/maingui.cpp: Actually the left widget does more than
setting the margin, so the comment line about removing t...* src/ftinspect/engine/fontinfo.hpp,
src/ftinspect/glyphcomponents/glyphcontinuous.cpp: Clearify comments.
* src/ftinspect/maingui.cpp: Actually the left widget does more than
setting the margin, so the comment line about removing the left widget and
layout is removed.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/30load the font files given by the CLI arguments2022-08-02T17:11:14Zsuzuki toshiyaload the font files given by the CLI argumentsI guess, currently ftinspect requests user to manipulate GUI to choose the fonts to be inspected. It is convenient for the users who are unfamiliar with CLI & hard to understand how to choose the fonts.
But, if possible, I hope if ftinsp...I guess, currently ftinspect requests user to manipulate GUI to choose the fonts to be inspected. It is convenient for the users who are unfamiliar with CLI & hard to understand how to choose the fonts.
But, if possible, I hope if ftinspect can accept the CLI arguments to list the fonts to be inspected. If the fonts are located various directories, or, some hidden directories (like ~/.fonts for fontconfig), choosing via GUI is slightly stressful operation. Here is a patch to check the file readablities in the argv list, and if it is readable, pass them to openFonts().
But, I'm afraid the introduction of a public method MainGUI::loadFontsFromArgs() looks quite irregular in your design. How do you think about?Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/28workaround for compiler warning against different signedness variables2022-08-02T17:00:12Zsuzuki toshiyaworkaround for compiler warning against different signedness variablesThank you very much for your continuous effort in GSOC 2022! I want to propose a few workarounds to calm the compiler warning for signedness.
The object newPalettes is std::vector object, so its size() method returns size_t-typed intege...Thank you very much for your continuous effort in GSOC 2022! I want to propose a few workarounds to calm the compiler warning for signedness.
The object newPalettes is std::vector object, so its size() method returns size_t-typed integer. Thus, popular looping like "for (int i = 0; ...)" would be complained. Using "for (size_t i = 0; ...)" would be the easiest workarounds.
Unfortunately, QComboBox's count() method returns normal (signed) int, so it cannot be compared with std::vecotr size() result. I'm sorry for proposing an ugly workaround by inserting a cast to size_t. I don't think QComboBox count() would not return a negative value. My understanding is correct?Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/29remove unused 'oldSize' variable2022-08-02T17:00:06Zsuzuki toshiyaremove unused 'oldSize' variableThank you very much for your continuous effort in GSOC 2022! I propose a very trivial fix to calm a compiler warning against unused variable.
I think "oldSize" in MainGUI::openFonts() was once introduced to tweak the selected font from ...Thank you very much for your continuous effort in GSOC 2022! I propose a very trivial fix to calm a compiler warning against unused variable.
I think "oldSize" in MainGUI::openFonts() was once introduced to tweak the selected font from the list, but no longer used. It can be removed safely...?Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/27[meson] Add option to disable librsvg dependency.2022-07-11T09:51:40ZCharlie Jiang[meson] Add option to disable librsvg dependency.As discussed in #14.
Current librsvg is used to render OT-SVG glyphs. However, librsvg is far from
simple to build as it requires tons of transitive dependencies, especially
on Windows.
Therefore, we could introduce a configure switch ...As discussed in #14.
Current librsvg is used to render OT-SVG glyphs. However, librsvg is far from
simple to build as it requires tons of transitive dependencies, especially
on Windows.
Therefore, we could introduce a configure switch in the meson script to switch
librsvg on or off. This is trivial because the source code itself already
honors a `HAVE_LIBRSVG` definition.
* meson_options.txt: Add `enable_librsvg` option, defaulting to `true`.
* meson.build: Honor the option above.Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/25[ftinspect] Re-organize custom widgets.2022-07-02T06:49:57ZCharlie Jiang[ftinspect] Re-organize custom widgets.As discussed in the [E-Mail](https://lists.nongnu.org/archive/html/freetype-devel/2022-06/msg00009.html).
* src/ftinspect/maingui.hpp: Switch from individual widget files to the newly
merged one.
* src/ftinspect/widgets/custom_widgets....As discussed in the [E-Mail](https://lists.nongnu.org/archive/html/freetype-devel/2022-06/msg00009.html).
* src/ftinspect/maingui.hpp: Switch from individual widget files to the newly
merged one.
* src/ftinspect/widgets/custom_widgets.{cpp, hpp}: All 4 custom widgets.
* src/ftinspect/widgets/qcomboboxx.{cpp, hpp}: Merged into custom_widgets.
* src/ftinspect/widgets/qgraphicsviewx.{cpp, hpp}: Merged into custom_widgets.
* src/ftinspect/widgets/qpushbottonx.{cpp, hpp}: Merged into custom_widgets.
* src/ftinspect/widgets/qspinbox.{cpp, hpp}: Merged into custom_widgets.
Those widgets could be considered "auxiliary components", and are pretty far
from the core logic. Therefore, they should be made less "loud" (it's 8 source
files out of 23 in total - more than 1/3 !).
Well... How should I write the commit message for this then? 🤔Charlie JiangCharlie Jianghttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/22graph/rules.mk: Append CPPFLAGS to CFLAGS to allow for hardening2022-06-22T12:55:24ZHugh McMastergraph/rules.mk: Append CPPFLAGS to CFLAGS to allow for hardeningDebian currently sets CPPFLAGS at compile-time to enable hardening of binaries.
Many compiled graph/* objects are not built with these flags.Debian currently sets CPPFLAGS at compile-time to enable hardening of binaries.
Many compiled graph/* objects are not built with these flags.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/19Handle foreground COLR in ftview.2022-02-19T06:38:35ZBen WagnerHandle foreground COLR in ftview.* src/ftview.c (Render_All): handle 0xFFFF `layer_color_idx` without
crashing.* src/ftview.c (Render_All): handle 0xFFFF `layer_color_idx` without
crashing.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/8Draft: OT-SVG support2022-01-20T16:46:51ZMoazinDraft: OT-SVG supportThis is a prototype implementation of OT-SVG support based on hooks built with Librsvg.This is a prototype implementation of OT-SVG support based on hooks built with Librsvg.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/15Draft: [graph/win32] Implement smooth resizing.2022-01-01T14:09:47ZAlexei PodtelezhnikovDraft: [graph/win32] Implement smooth resizing.The window creation and the message loop has to be put in a separate
thread in order to achieve smooth resizing. Othrewise, the modal
loop cannot be interrupted to update the canvas. The main thread
also has a loop to receive the repos...The window creation and the message loop has to be put in a separate
thread in order to achieve smooth resizing. Othrewise, the modal
loop cannot be interrupted to update the canvas. The main thread
also has a loop to receive the reposted messages, to update the
canvas and send WM_PAINT back (UpdateWindow). After this update
the win32 resizing feels similar to the X11 resizing.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/14[ftbench] Free stroker when done.2021-12-11T03:48:07ZBen Wagner[ftbench] Free stroker when done.Running ftbench when compiled with LeakSanitizer reported that the
`stroker` object was being leaked. Properly free it with FT_Stroke_Done.
* src/ftbench.c (test_stroke): Free `stroker`.Running ftbench when compiled with LeakSanitizer reported that the
`stroker` object was being leaked. Properly free it with FT_Stroke_Done.
* src/ftbench.c (test_stroke): Free `stroker`.https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/12MSVC projects: Move freetype.lib dependencies to external props file2021-11-12T20:42:34ZubawurinnaMSVC projects: Move freetype.lib dependencies to external props fileAllows to use a different freetype library for win32 and x64 configuration (and eventually for release and debug configuration)Allows to use a different freetype library for win32 and x64 configuration (and eventually for release and debug configuration)https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/11Update 7F507CC0-08EE-4594-BBE2-F0E211BB5CD3.jpeg,...2021-10-15T17:19:28ZChristina HicksUpdate 7F507CC0-08EE-4594-BBE2-F0E211BB5CD3.jpeg,...Update 7F507CC0-08EE-4594-BBE2-F0E211BB5CD3.jpeg, 828B315C-6A87-4F2C-BE9B-6B930D1E85E2.jpeg, A08488D0-24E5-4443-A366-01F017395A0D.jpeg, BCF2F4B6-19EC-4616-8873-FBEFAD075FF1.jpeg, EF1F33F4-4FEE-4C4E-998D-F084ABE58343.jpeg, 491F9F80-3D62-4...Update 7F507CC0-08EE-4594-BBE2-F0E211BB5CD3.jpeg, 828B315C-6A87-4F2C-BE9B-6B930D1E85E2.jpeg, A08488D0-24E5-4443-A366-01F017395A0D.jpeg, BCF2F4B6-19EC-4616-8873-FBEFAD075FF1.jpeg, EF1F33F4-4FEE-4C4E-998D-F084ABE58343.jpeg, 491F9F80-3D62-400D-A834-1BD88BA87C62.jpeg, 6D547385-A943-4CE7-80EF-53A68154324A.jpeg, 73F8FB70-D4A1-4D47-A3B4-D220931B9E53.jpeg, 8AD13B4D-B84D-4339-B474-6F2D5ECC3558.jpeg, 06405C1B-DD4A-440C-AD7C-8357B60CCA1A.jpeg, 502229E2-D843-4E9A-B9AD-286867F8A93E.jpeg, 0448FA2F-26CF-4895-A161-328DA4D449EB.jpeg, 651FCBFE-C777-4786-857F-0CD46068F03E.jpeg, 64057D63-E802-4673-BB86-448824CC761B.jpeg, 1B912E7D-EFEE-4D5E-861A-6791F6ACB85F.jpeg, 38F1C4EC-A26F-4D22-9FE9-A1A4318E4C91.jpeg, 3289142B-CA2B-46D6-9699-16EEA8EA0766.jpeg, 195A6499-E040-4985-BE42-9960020CB0F6.jpeg, 75051E17-6A8D-4063-A9EC-40E391F2781F.jpeg, E056DB7B-2605-4938-AE64-59AAE53CEA9E.jpeg, AE8B281B-974F-46DB-B06A-4630BA69E838.jpeg, 0AE0C360-E676-426B-92B7-0B7DFB67E78C.jpeg fileshttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/7Update ftstring.c to allow for persistent provided text between switching sam...2021-08-27T00:42:47ZBermlerUpdate ftstring.c to allow for persistent provided text between switching sample texts.In ftstring.c, if you press tab to switch between sample texts after providing a sample string with "-m", the string will be gone from the tab rotation. This patch will fix that by saving the string provided as an argument, and making su...In ftstring.c, if you press tab to switch between sample texts after providing a sample string with "-m", the string will be gone from the tab rotation. This patch will fix that by saving the string provided as an argument, and making sure it is part of the "rotation" process of event_text_change().https://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/4(ftlint) Output glyph MD5 hash2021-06-13T06:16:48ZAnurag Thakur(ftlint) Output glyph MD5 hashAs discussed, @thesarthakbhardwaj modified the code to output glyph index in front of the hash.
I have cleaned up his branch for this MR
~~@apodtele We faced problems in parsing the supplied arguments for FT_LOAD and FT_RENDER, so this...As discussed, @thesarthakbhardwaj modified the code to output glyph index in front of the hash.
I have cleaned up his branch for this MR
~~@apodtele We faced problems in parsing the supplied arguments for FT_LOAD and FT_RENDER, so this MR is still a draft, some guidance would be appreciated 😊.~~
Added options for loading and rendering flags.
We decided to defer the brightness and contrast calculation to a later MRhttps://gitlab.freedesktop.org/freetype/freetype-demos/-/merge_requests/5[build] Add Meson build files and documentation2021-05-24T08:24:49ZDavid Turner[build] Add Meson build files and documentationThis commit adds files necessary to build the demo programs,
including `ftinspect`, with the Meson build system. For full
instructions, see the new README.meson file.
/cc @apodteleThis commit adds files necessary to build the demo programs,
including `ftinspect`, with the Meson build system. For full
instructions, see the new README.meson file.
/cc @apodteleWerner LembergWerner Lemberg