Khaled Hosny

@khaled@typo.social
406 Followers
104 Following
465 Posts

FontForge now supports HarfBuzz-based font preview: https://github.com/fontforge/fontforge/pull/5522

Special thanks to Khaled Hosny @khaled for kind and thorough code review!

#FontForge #HarfBuzz #FOSS #opensource #typography

HarfBuzz Study: Introducing HarfRust

HarfBuzz Study: Introducing HarfRust behdad June 10, 2025 [Comments welcome on GoogleDocs] Introduction What’s in the name History HarfBuzz (حرف‌باز) HarfRust (حرف‌راست) Not to be confused with: RustType The contenders 2017: harfbuzz_rs 2019: Allsorts 2020: RustyBuzz 2021: swash 2025: HarfRust ...

Google Docs

Any one else seeing weird glyph placement (as in glyphs being displaced up and down left and right) when using Arabic color (OT-SVG) fonts in InDesign?

I tried reporting it but it didn't get any response, and now I wonder if it is a general issue or something in my fonts is triggering it: https://indesign.uservoice.com/forums/601180-adobe-indesign-bugs/suggestions/49040762-in-arabic-opentype-svg-fonts-glyphs-shift-seeming

In Arabic OpenType-SVG fonts, glyphs shift seemingly randomly in all directions

In Arabic fonts with SVG table, glyphs move up, down, left, and right seemingly randomly, and typing more text or adding vowel marks change how the glyphs are shifted. If the fonts are processed to remove the SVG table, they work fine (but color glyphs are not colored, obviously). Illustrator and Photoshop do not have this issue, and the font with SVG table works normally. I tested this with https://github.com/aliftype/raqq/blob/main/fonts/Raqq.ttf as well as https://fonts.google.com/specimen/Reem+Kufi+Ink. Text used in the screenshot: خط كوفي ا أ إ ب ت ث ج ح خ خَطٌ كُوفِي أ إ بَ This is InDesign 20.0, but the issue was present also in the previous versions.

Adobe InDesign
HarfBuzz Study: Subsetter

HarfBuzz Study: Subsetter Behdad Esfahbod & Garret Rieger 9 April 2025 [Comments welcome on GoogleDocs] Introduction Requirements Other subsetters Prior papers and presentations Design Read/write instead of decompile/modify/compile Input specification Subset Planning and Execution Glyph closure...

Google Docs

#HarfBuzz 11.0.0 is out with lots of goodies. Among them is integration with the Fontations / Skrifa Rust font library, lots of optimizations, and new APIs:

https://github.com/harfbuzz/harfbuzz/releases/tag/11.0.0

Release 11.0.0 · harfbuzz/harfbuzz

What's Changed There are three new font-functions implementations (integrations) in this release: hb-coretext has gained one, calling into the CoreText library, hb-directwrite has gained one, ca...

GitHub

#HarfBuzz 11.0.1 is out with a few but important bug fixes. Please update.

https://github.com/harfbuzz/harfbuzz/releases/tag/11.0.1

Release 11.0.1 · harfbuzz/harfbuzz

What's Changed The change in version 10.3.0 to apply “trak” table tracking values to glyph advances directly has been reverted as it required every font functions implementation to handle it, whic...

GitHub
HarfBuzz Study: Caching

HarfBuzz Study: Caching behdad April 2, 2025 [Comments welcome on GoogleDocs] Introduction Design Patterns The hb_cache_t objects The hb_set_digest_t object The hb_bit_set_t object The table accelerators The table scratchpads Caches on hb_face_t Shape-plan cache OpenType shaping Skipping work w...

Google Docs
"2025Q1 Fonts Quarterly" is out: what I worked on in font technology (mostly #HarfBuzz) land this past quarter:

https://docs.google.com/document/d/1RUZ0QDwSQVxlz1-pYJdUan7hoRzmoLz2cVmtCHUoqUI/view
2025Q1 Fonts Quarterly

2025Q1 Fonts Quarterly Optimize all the things / Everybody gets font-funcs March 31, 2025 behdad [Comments welcome on GoogleDocs] Introduction Runtime & memory performance improvements Shaping speedups: AAT and OpenType AAT speedups OpenType speedups Drawing VARC fonts speedups COLRv1 speedups ...

Google Docs
Typesetting a font specimen for a #VariableFont with #TeXLaTeX is one of the last adventures apparently ;)
But I got it working now. luaotfload seems to be buggy, but set to render the fonts with #HarfBuzz it seems to work.
I wonder if anyone has made the equivalent of a cross-browser rendering test for all the various flavours of TeX and other math engines? It would be nice to be able to throw equation input at a single target and get back rendered output from all the different engines.