Clipped rendering of negative kerning custom fonts

I'm experimenting with custom fonts that have negative kerning, i.e. glyph bounding boxes may overlap one another. The example I'll use in this post is https://fonts.google.com/specimen/Griffy

When a letter like Y is rendered in the simulator, the edges of the letter are cropped:

Is there any way to convince the renderer to render the entire character beyond the negative xoffset and short xadvance values that support negative kerning?

Here's myfont.fnt file:

info face="Custom" size=120 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 outline=0
common lineHeight=207 base=147 scaleW=256 scaleH=256 pages=1 packed=0 alphaChnl=0 redChnl=1 greenChnl=1 blueChnl=1
page id=0 file="myfont.png"
chars count=3
char id=32 x=122 y=79 width=0 height=0 xoffset=0 yoffset=147 xadvance=53 page=0 chnl=15
char id=89 x=0 y=0 width=121 height=119 xoffset=-23 yoffset=33 xadvance=65 page=0 chnl=15
char id=111 x=122 y=0 width=65 height=78 xoffset=4 yoffset=69 xadvance=72 page=0 chnl=15

And the corresponding myfont.png file:

And the XML:

<fonts>
  <font id="CustomFont" filename="myfont.fnt" filter="" antialias="true" />
</fonts>

Top Replies

All Replies

  • Device apps (activities) burn more battery than a watch face.

    As if everyone here doesn't already know that.

    Kinda weird to implicitly equate device apps to "activities" tho, as:

    - device apps don't necessarily record an activity

    - built-in activity profiles are known to be a lot more battery-efficient than device apps (we all know that any CIQ app is always harder on battery life than the equivalent native functionality)

    And a lot can depend on how often a device app updates the screen.

    Another statement which is completely obvious to everyone here, and also has nothing to do with the comment you are replying to or the discussion at hand.

  • Though it would be interesting to compare the "average" CIQ datafield's hit on battery vs the "average" watch-app that records an activity.

  • Ontopic: In my experience rendering the fonts as png images works best for doing anything more complex than Garmin offers. Actually it runs better than I could imagine with regard to performance and energy usage.

    Offtopic:

    One thing Apple does not offer is MIP. I really hope Garmin keeps using MIP in there future devices as it is so much better for my eyes and the overall experience.  With regard to the beta and it's battery management app I wonder, does it show the watch face consumption? 

  • Yeah I suppose that for any preordained labels, rasterising a text string makes for good, predictable performance, and is the only approach (currently) known to work *fully* with negatively-kerned fonts. Good comment .

  • Ontopic: In my experience rendering the fonts as png images works best for doing anything more complex than Garmin offers. Actually it runs better than I could imagine with regard to performance and energy usage.

    Works with how these devices operate (not against it). Nice.