StefanPeev / Common-Serif

The Common Serif project is based on Libertinus Serif.
SIL Open Font License 1.1
56 stars 3 forks source link

Why not merge back into the Libertinus Fonts project? #62

Open alerque opened 2 months ago

alerque commented 2 months ago

Can I ask what the rational is for not developing this as an actual fork that could be contributed back to the Libertinus project? There has been quite a bit of discussion and even I've expressed interest in redoing the font based on masters that could be interpolated but I don't recall ever seeing somebody that was ready to jump in and try. What is the current status of development, how much has the design diverged from Libertinus Serif at comparable instance weights? Are there significant design changes that would make it not a good candidate for eventually replacing the Libertinus Serif static instances?

StefanPeev commented 2 months ago

@alerque I'm afraid that combining the two projects is no longer possible. The genetic kinship of the two typefaces is not sufficient to join Common Serif to Libertinus, as each grapheme in Common Serif is already constructed from a different number of contour points compared to Libertinus Serif, and there are generally significant differences in contour construction. The mechanical unification of the two projects will not give a positive result, since the projects lie on a different principle basis. In Libertinus Serif, each style is developed for itself, while in Common Serif, the tactics of the masters styles is applied, which define the possibility of automatically generated intermediate instances.

alerque commented 2 months ago

Thanks, but I'm quite aware of how using masters work and the mechanics of how variable fonts are constructed and instances created. I'm not in the least bothered by the construction being completely different. We've wanted to redraw the outlines to use masters for some time. I understand this means pretty much just discarding the existing contours and basically just tracking them using points and curves laid out consistently between masters so that they can be interpolated.

What I was asking is whether the ethos of the font design itself has changed. If you take an instance at a comparable weight is the overall design largely the same, and are metrics at least close to compatible with Libertinus Serif (esp. at the 400 Regular weight)?

StefanPeev commented 2 months ago

@alerque The overall design is largely the same and metrics are close to compatible with Libertinus Serif. Besides, Cyrillic part of the font family is extended and now it includes localisation for the Bulgarian language. The Greek part is also extended significantly and Polytonic Greek combining glyphs like Greek Capital Letter Alpha With Psili are generated from the basic glyph plus the diacritics (for example: Alpha plus Psilli (uni1FBD)), which make the glyphs' design more compatible.

Screenshot 2024-09-27 160816

alerque commented 2 months ago

Libertinus Serif isn't even internally consistent with metrics and weights. The 400 weight Regular is pretty much the base point and the next-best consistency wise is Regular Bold, but the italic variants vary a bit inconsistently. In between those the semibold weight is just wildly inconsistent and doesn't even have the same glyph coverage.

I would also not expect a VF based overhaul to be 100% metrically compatible, but it would greatly ease things if the existing main instances were close enough to something on the VF axis that it could be explored as a replacement.

I'd like to further explore integrating this back into the project. I would imagine the steps being (roughly) something like:

  1. Introduce a new family, Libertinus Serif VF — at least initially not touching the current static instances.
  2. Bring in the masters and work out the build system such that the VF can be built and released (and compared) side by side with the current static fonts.
  3. Release with both the current static fonts and a new VF face to get some broad usage and testing.
  4. Generate static instances from the VF, potentially under a temporary name so they can be used in parallel during a trial phase.
  5. Make sure the glyph coverage of the VF edition is fully up to par with the current static instances.
  6. Make sure a few basic points in the new VF's design space (400/Regular, 400/Italic, 700/Bold, 700/BoldItalic) corresponds fairly closely to the metrics of the current instances. Obviously there would be some differences (hopefully all for the better) but I would expect most current documents to give the same basic metrics (baseline skip, overall grade) even if there were a few kerning or contour differences here and there.
  7. Ditch the current static instances entirely and replace them with instances generated from the VF for improved consistency.
  8. Release the all-new static instances and matching VF as a new major version bump.

Is this something this project is interested in seeing happen? Or is taking off in a different direction and not expecting to bring existing Libertinus users along for the ride preferred? (Understanding that the latter choice may mean we eventually get a VF overhaul for Libertinus which largely overlaps with this project.)

StefanPeev commented 2 months ago

@alerque If you offer a working VF font project, you already offer a family of static versions of the font. You can use Common Serif as a base to create Libertinus Serif LGC Pro - as a variant of the currently existing static versions of Libertinus Serif. So the project can continue to develop both as a VF font version and as new static varieties of Libertinus Serif under the new name (it is a good idea the name to be shorter then Libertinus Serif LGC Pro). In this regard, it is good to seek the opinion of @davelab6 (Dave Crossland) as well, as he has made a proposal #7981 for the parallel inclusion of Common Serif and Libertinus Serif to the Google Fonts projects.