Sun 10 Dec 2017 10:10:55 PM UTC, comment #6:
I went ahead and added the table to the important faces,
even though I ahve no way to test the values.
|
Sun 10 Dec 2017 02:18:41 PM UTC, comment #5:
Thanks David, these are good practical examples.
I'm unconvinced as to how varying font sizes are meant to work in Devanagari, and other Indic scripts. In your example, for instance, although the head-lines of the letters of different sizes could be made to coencide, they would still be of different thicknesses, and don't look that great together.
The examples in the W3C document are of initial letters to a paragraph (called "drop caps" in European typography). Sure, here it's good for the head line of the drop cap to coencide with that of the main text. But drop-caps are dubious business for font-independent documents, and fiddly stuff even with finer tools.
The situation for drop-caps could be improved with adoption of CSS3 recommenations: primarily
https://www.w3.org/TR/css3-linebox/#aligning-initial-letter
This gives much better control of how drop-caps are placed, including using a hanging baseline that makes sense for Indic scripts.
This will require some experimenation, so it will be for a future release.
|
Tue 05 Dec 2017 06:04:32 PM UTC, comment #4:
The 'BASE' table defines baselines. Baselines are used to align glyphs at different font sizes, for things like drop caps, or between different fonts.
data:text/html;charset=utf-8,<div style="font: 100px FreeSerif">q<small>q</small>
In that example, the two letters are at different sizes but share the same baseline. This works because FreeSerif’s Latin glyphs are designed so their bases are on the x-axis.
data:text/html;charset=utf-8,<div style="font: 100px FreeSerif">%E0%A4%95<small>%E0%A4%95</small>
Devanagari uses a hanging baseline. That means that glyphs of different sizes should be aligned at the headstroke. However, in that example, the glyphs are not aligned at the headstroke: they are aligned at the x-axis. (Browser support for baselines is low so it wouldn’t look right anyway. This example is just for explanatory purposes.)
> You should know, in all those scripts, the glyphs have already been placed vertically so that they would look fairly good in mixed text.
This is not related to the 'BASE' table.
|
Wed 04 Oct 2017 12:07:47 PM UTC, comment #3:
Hi,
You should know, in all those scripts, the glyphs have already been placed vertically so that they would look fairly good in mixed text.
Is this a bug or a feature request?
What I'm asking is: what specific text would look better if FreeFont specified, say, a hanging baseline?
You mention some software recently supporting the feature. Can we get a test case? (Otherwise, we're working blind.)
|
Wed 04 Oct 2017 10:32:50 AM UTC, comment #2:
Yes, Steve.
In Planet Inkscape (http://planet.inkscape.org/) I have found a blog posts mentioned a CSS property "dominent-baseline" which could control text scaling behavior upon different baselines, also including a sample image of default font behavior with alphabetic and hanging beseline.
W3C also working for Indic Layout Requirements recently, where has samples and instructions for aligning drop initial with hanging and alphabetic baseline in Indic scripts. If this document is published, such usage would become normalized.
https://w3c.github.io/ilreq/#h_typical_drop_initial_usage_in_indic_scripts
Some property softeware already supported various baseline via parsing this table, notably Adobe InDesign. In recent times HarfBuzz repository at GitHub has a request for supporting this table, if this is fixed, many programs relied on this library will also handle this table.
In FreeFont many scripts can add alphabetic baseline, some Indic scripts such as Devanagari, Bengali, Gurmukhi also suitable to add hanging baseline. If you add this table, these scripts would get proposed aligning behavior if a software environment support this table.
Best regards.
|
Sat 30 Sep 2017 12:08:02 PM UTC, comment #1:
Hello Anonymous,
I have looked at that table before, but it was unclear to me how it would be of use in GNU FreeFont, what problems it would address.
Can you point to a specific problem in the current rendering of text that would benefit from the values of this table?
|
Fri 29 Sep 2017 05:49:33 PM UTC, original submission:
The 'BASE' (baseline table) provides information used to align glyphs of different scripts and sizes in a line of text, also provides minimum (min) and maximum (max) glyph extent values for necessary purposes. The information of this table is already documented in OT specification and you can access:
https://www.microsoft.com/typography/otspec/base.htm
FontForge support this table too.
|