bugFree UCS Outline Fonts - Bugs: bug #52143, Add 'BASE' table


bug #52143: Add 'BASE' table

Submitted by:  None
Submitted on:  Fri 29 Sep 2017 05:49:33 PM UTC  
Category:  font metrics Severity:  3 - Normal
Item Group:  None Status:  Postponed
Privacy:  Public Assigned to:  Steve White <Stevan_White>
Originator Email:  -email is unavailable- Open/Closed:  Open
Release:  2012-05-03

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

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.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
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
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.

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
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.

David Corbett <dscorbett>
Wed 04 Oct 2017 12:07:47 PM UTC, comment #3:


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.)

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
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.

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?

Steve White <Stevan_White>
Project AdministratorIn charge of this item.
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:

FontForge support this table too.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by Stevan_White (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-12-10 Stevan_White StatusNeed info => Postponed
    2017-09-30 Stevan_White StatusNone => Need info
        Assigned toNone => Stevan_White

    Back to the top

    Powered by Savane 3.4