Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline Builds for Bhatkhande Fonts #69

Merged
merged 5 commits into from
Sep 3, 2024

Conversation

rajadain
Copy link
Contributor

@rajadain rajadain commented Sep 2, 2024

Overview

Updates the Bhatkhande font organization to use a Base Bhatkhande layer, and then add the language specific elements on top of that, to allow for easy addition of new languages in the future.

The architecture now looks like this:

image

Here is a visual comparison of FontGoggles output to demonstrate no changes to the fonts pre- and post- pipeline change:

image

As an aside, the convert.pe script has been replaced with a convert.py to consolidate all our scripting in Python.

Closes #66

⚠️ BREAKING CHANGE ⚠️

While the relevant characters are identical to before, the unused characters in the fonts have been changed. This is an artifact of an early stage divergence between Ome Bhatkhande Hindi and English. Ome Bhatkhande Hindi started off as a default font, with varying widths for different glyphs. This was standardized in Ome Bhatkhande English to be the set 1582 for all characters, even the missing ones. Since Ome Bhatkhande Punjabi was a copy of Hindi, that too had the varying glyph widths.

After much consideration, I decided to use Ome Bhatkhande English as the Base font, since all characters using the standard width of 1582 is better for monospacing. However, if there are existing documents with mistaken or spurious characters in Ome Bhatkhande Hindi or Punjabi, those documents may be affected by this change.

Rewrite convert script in Python, which is a lot
better than the fontforge script.

Add a Bhatkhande build script, and use it in the
general build process.

Amend the build script to take the Bhatkhande
base font, then layer in a language, then use it
to generate .UFO and .TTF files. The intermediate
.SFD files are deleted, so as not to cause any
confusion.
Now we start with a OmeBhatkhandeBase font, with
the language-specific characters layered in. This
Base font is a copy of OmeBhatkhandeEnglish, since
that had the standard width of 1582 applied to all
characters, even the unused ones.
Since 2.0 was already released a long time ago, as seen in
the CHANGELOG.
This makes it easier to compare all relevant characters for
Ome Bhatkhande across the different languages.
@rajadain rajadain added the font label Sep 2, 2024
@rajadain rajadain self-assigned this Sep 3, 2024
@rajadain rajadain merged commit 7ea2965 into develop Sep 3, 2024
@rajadain rajadain deleted the font/bhatkhande-build-pipeline-2 branch September 3, 2024 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pipeline Builds for Bhatkhande Fonts
1 participant