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

  • No. I said that there (likely) wasn’t a way to do what you wanted and explained why.

    Although it's worth asking what's possible in the context of evolving technologies and competitors and user expectations. And in this case the issue seems like an implementation oversight or perhaps an over-optimisation.”

    You shifted the discussion with this.

    Battery life and the issue of legacy software is relevant to what you wrote (here).

    (Saying Garmin doesn’t care about battery life seems simply incorrect and saying Garmin is lying about it seems obviously irrelevant.

  • I think Apple and others are giving Garmin a run for their money, and if they manage to solve the battery longevity issue then there's going to be some hard talks in Kansas!

    Yes. (Though, it’s mostly Apple, by far, at the moment.)

    It seems almost certain Garmin is aware of this (and has for a while already).


    Garmin is “making hay while the sun shines”. 

    Garmin went through the same sort of thing with car navigation systems. (And a similar thing is happening with more cyclists using phones rather than Garmin Edges.)

    People have been talking about battery “breakthroughs” for years and they haven’t panned-out.

    —————————

    Apple was smart in realizing a large market could live with limited battery life.

    Seeing Apple’s success, Garmin might have realized that battery life was negotiable and that many people would be willing to trade battery life for other features (like AMOLED). 

    Easing up on battery life appears to have been a successful move for Garmin but it upset a few people (like one person here). Garmin still provides watches (the Enduro line, for example) for them but they still insist on features (along with retaining the same battery life) that require more power. This makes no sense. And you can’t please everyone anyway.

  • AOD was always off. Music I tried 3 times in the past two years. A few weeks ago I even disabled touch for the sleep time (no apparant change in battery, but a bit less user friendly. Not because I use touch as per touch, but I used to use it to wake the watch up to see what's the time....) I might have more activities than the average, but for sure it's not much compared to any serious sportsman.

    some time later...

    OK, I made a spreadsheet and managed to sum all my recorded activities in December (I hoped to be able to see this summed in the Garmin Connect Web, but unfortunately it only summarses the number of activities, not the duration). I do lot of things to get badges :) Anyway the total amount of activities in 1 month is around 53 hours. This averages in slightly less than 2 hours per day. Some of it with GPS, some without.

  • Device apps (activities) burn more battery than a watch face.  And a lot can depend on how often a device app updates the screen.  I ran a test where instead of updating the screen every second, I do it every 5 seconds and it had a noticeable impact on the battery.

    There is a reason Garmin uses "up to" when taking battery, as there are a number of variables that come into play, and what "up to" is when everything is optimal.

  • recorded activities

    Device apps (activities)

    @flocsy isn't talking about apps.

  • No, I'm talking about built-in activities, though in theory one could do some of their activities using apps. I use one of my apps about 1 hour a month for debugging though, but that is not causing the battery drain (I know because it also records the battery level to fit)

  • Built in activities drain more battery than a watch face.  "up to" means nothing but a watch face without a background service. The watch is running but doing as little as possible.

  • This thread and subforum is a weird place to be talking about this.

    If there are people interested in discussing/reading-about this, they will never ever think to find it in a thread about negative kerning.

    Bizarre.

  • OK, I made a spreadsheet and managed to sum all my recorded activities in December (I hoped to be able to see this summed in the Garmin Connect Web, but unfortunately it only summarses the number of activities, not the duration). I do lot of things to get badges :) Anyway the total amount of activities in 1 month is around 53 hours.

    You didn't have to do all of that manually, just use Garmin Connect (website) > Reports > Progress Summary and select the date range of your choice. You can also see summarized information about activity time in runalyze and strava [*] (which sync with Connect), although the progress summary page in Connect should be more than enough for your purposes. (Runalyze has a lot of details and flexibility, while Strava is a bit simpler than both Connect and Runalyze in this regard.)

    [*] use the training calendar on the strava website, or the training log if you have premium

    https://connect.garmin.com/modern/progress-summary 

    Besides, I think the largest battery life concern (for most people) is whether their watch is able to survive a single day or a single activity (or maybe a weekend of activities, if they're off the grid). Sure it's a bonus if you don't have to recharge every night, but it's not a huge concern for runners (for example). That's probably why Forerunner went all-in on AMOLED while Fenix initially retained a MIP variant.

    Anecdotally speaking, I charge my Forerunner 955 (MIP) every few days. Sometimes my battery will be low towards the end of a run (like 10% - 20% or even lower), and when that happens, I just charge it for 30 minutes or so after my run and I'm good to go.

    I know some people who switched to Apple Watch (or started out with it) and they have 0 problems with charging their watch every night. Kinda like most of us are ok with charging our phone every night (although ofc if a company could come up with a phone that lasts for weeks with the same weight, form factor and features as our existing phones, that would be a game changer).

    I get it tho: your average activity time per day is high.

    I might have more activities than the average, but for sure it's not much compared to any serious sportsman.

    Ironically, some pro marathoners who aren't sponsored by Garmin or other tech companies seem to prefer a simple timex for training and racing. (To be fair I do see elite runners or cyclists of various ages using Garmin watches and bike computers on Strava.)

    But I guess Garmin's marketers successfully convinced their customers that they are "athletes" or "sportsmen" or, similarly, that they are using a product which is intended for athletes. Same as Strava and Apple (with Apple Watch Ultra).

    As dpawlyk pointed out, it seems that Enduro was made for you? Or maybe Instinct, if AMOLED is a must?

  • There is a reason Garmin uses "up to" when taking battery, as there are a number of variables that come into play, and what "up to" is when everything is optimal.
    "up to" means nothing but a watch face without a background service. The watch is running but doing as little as possible.

    What's your point tho?

    If I'm not mistaken, flocsy is complaining about actual real-world battery life, not battery life claims from Garmin.

    Like you're the one who brought up "up to" and you're the only one referencing/defining it.

    I don't even know what Garmin's battery life claim is for my watch, and I don't care.

    But since you brought it up, Garmin actually provides several battery life estimates for various use cases, not just "doing as little as possible":

    FR965 spec sheet https://www.garmin.com/en-CA/p/886725/#specs:

    Details: https://support.garmin.com/en-CA/?faq=FEjONGCI270wlBlREC7Uw8&productID=886725&tab=topics

    I also don't think you need to explain to anyone why Garmin or any other company would use "up to" when specifying something like battery life. That's super condescending. Next you will helpfully explain why internet / mobile providers use "up to" when specifying data transfer speeds.

    Btw, based on the battery life assumptions in the support article, your definition of "up to" isn't even correct. Condescending and wrong.

    Garmin clearly states several assumptions for the "smartwatch mode" battery life estimate which go beyond "doing as little as possible", like 50 notifications per day, 160 interactions per day, 750 gestures per day, and 5 hours spent outside per day. One can clearly infer, for example, that if you spent less than 5 hours outside per day, but all other things were equal, then you'd get even *more* battery life than the stated smartwatch mode estimate (or so Garmin claims, anyway).