Skip to content

fix(theme): use iOS's Avenir Next Demi file - #1800

Merged
bmc08gt merged 1 commit into
code/cashfrom
fix/avenir-demi-font
Oct 16, 2026
Merged

bmc08gt merged 1 commit into
code/cashfrom
fix/avenir-demi-font

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Oct 16, 2026

Copy link
Copy Markdown
Collaborator

Android and iOS shipped different Demi files: Android had Apple's 2012 "Avenir Next Demi Bold", iOS has Monotype's "Avenir Next LT Pro Demi" (AvenirNextLTPro-Demi.otf in FlipcashUI). Regular and Medium already match byte for byte, so Demi was the one weight where every SemiBold and Bold style drew slightly different letters from iOS.

This replaces ui/theme/src/main/res/font/avenir_next_demi.otf with the iOS file, with one edit: its vertical metrics are set to the old file's values, and the table checksums are recomputed. Glyphs and advance widths are untouched.

ascent / descent (hhea) OS/2 typo OS/2 win
Old Android file 1000 / -366 1000 / -366 / 0 1000 / 366
iOS file as shipped 978 / -250 758 / -242 / 200 978 / 250
This PR 1000 / -366 1000 / -366 / 0 1000 / 366

The unpatched iOS file reserves less space per line, and Compose sizes text from those metrics. On a Pixel 10 emulator it moved stacked Demi text up by roughly 30dp on amount entry and 27dp on Wallet, and cut the chat list's title-to-preview gap from about 21dp to 16dp (iOS measures about 20.5pt). With the old metrics, chat list, Wallet, amount entry, token detail and You lay out the same as before.

One side effect: the chat top bar keeps its current title and member-count spacing, which is looser than iOS. That needs its own fix in the top bar.

Android bundled Apple's 2012 "Avenir Next Demi Bold" while iOS ships
Monotype's "Avenir Next LT Pro Demi". Regular and Medium already match
byte for byte; Demi was the one weight drawing different letters.

Swap in the iOS file with its vertical metrics set to the old file's
values (ascent 1000, descent 366, no line gap), so layouts that size
from font metrics don't move. Glyphs and advances are unchanged.
@bmc08gt bmc08gt self-assigned this Oct 16, 2026
@github-actions github-actions Bot added area: ui Compose UI, theme, components, resources type: fix Bug fix labels Oct 16, 2026
@bmc08gt
bmc08gt merged commit 59f79d6 into code/cash Oct 16, 2026
3 checks passed
@bmc08gt
bmc08gt deleted the fix/avenir-demi-font branch October 16, 2026 22:50
bmc08gt added a commit that referenced this pull request Oct 16, 2026
…w-send

* origin/code/cash:
  build(deps): bump grpc from 1.84.0 to 1.84.3 (#1792)
  build(deps): bump io.grpc:grpc-android from 1.84.0 to 1.84.3 (#1790)
  build(deps): bump com.bugsnag:bugsnag-android from 6.27.1 to 6.28.0 (#1791)
  build(deps): bump com.composables:composeunstyled-bottom-sheet (#1793)
  build(deps): bump androidx.paging:paging-compose from 3.5.1 to 3.5.3 (#1794)
  build(deps): bump androidx-paging from 3.5.1 to 3.5.3 (#1796)
  build(deps): bump kotlin from 2.4.20 to 2.4.21 (#1789)
  build(deps): bump gradle-wrapper from 9.8.0 to 9.8.1 (#1797)
  fix(theme): use iOS's Avenir Next Demi file (#1800)
  feat(messenger): share and copy a link to a message (#1784)
  feat(messenger): show the linked message when a link lands in a gated group (#1777)
  feat(messenger): draw message links as a card of the linked message (#1774)
  feat(messenger): route message links and land on the message (#1772)

# Conflicts:
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/ChatViewModel.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/LinkCardModule.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/LinkCardResolver.kt
#	apps/flipcash/features/messenger/src/main/kotlin/com/flipcash/app/messenger/internal/link/MessageLinkPrefetcher.kt
#	apps/flipcash/shared/chat/src/main/kotlin/com/flipcash/shared/chat/internal/delegates/MessagingDelegate.kt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ui Compose UI, theme, components, resources type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant