Opened 2 months ago

Closed 2 months ago

#31881 closed defect (fixed)

Enabling bundled fonts does not work anymore on Android

Reported by: gk Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-rbm, ff68-esr, tbb-9.0-must-alpha, TorBrowserTeam201910R
Cc: boklm, sisbell Actual Points:
Parent ID: #30324 Points: 0.5
Reviewer: Sponsor:


With the switch to ESR 68 --enable-bundled-fonts is not available anymore for mobile. We should figure out what happened and what we should use instead (if anything).

Child Tickets

Change History (4)

comment:1 Changed 2 months ago by sysrqb

Keywords: TorBrowserTeam201909R added; TorBrowserTeam201909 removed
Status: newneeds_review

Similar to #31880, --enable-bundled-fonts is restricted to browser:

It seems bundled-fonts was always desktop-only, configure simply didn't error when targeting Android before FF64. Bug 1491419 moved this from into moz.configure. We can see before this change described it as "Enable support for bundled fonts on desktop platforms" (and now I notice it says this in toolkit/moz.configure, too).

This feature was originally added in bug 998844 and this was limited to desktop builds because Fennec already shipped with bundled fonts:

It seems like we should take note of comment 8:

This is already possible on Android and Firefox OS, where font files in the "font"
sub-dir of a profile are loaded on startup:

gfxFT2FontList::FindFontsInOmnijar is a slightly more helpful function (from FF32). This was implemented in Bug 878674.

This is the current location:

  static const char* sJarSearchPaths[] = {
  RefPtr<nsZipArchive> reader = Omnijar::GetReader(Omnijar::Type::GRE);
  for (unsigned i = 0; i < ArrayLength(sJarSearchPaths); i++) {
    nsZipFind* find;
    if (NS_SUCCEEDED(reader->FindInit(sJarSearchPaths[i], &find))) {
      const char* path;
      uint16_t len;
      while (NS_SUCCEEDED(find->FindNext(&path, &len))) {
        nsCString entryName(path, len);
        AppendFacesFromOmnijarEntry(reader, entryName, aCache, jarChanged);
      delete find;

comment:2 Changed 2 months ago by gk

Looks good. Could you file a follow-up ticket to investigate the font fingerprinting defense approach outlined above and make it blocking #18097? Feel free to close this ticket then, thanks!

comment:3 Changed 2 months ago by pili

Keywords: TorBrowserTeam201910R added; TorBrowserTeam201909R removed

We're now in October, moving September outstanding reviews to October

comment:4 in reply to:  1 Changed 2 months ago by sysrqb

Resolution: fixed
Status: needs_reviewclosed

Done. #31917

Note: See TracTickets for help on using tickets.