Skip to content

Instantly share code, notes, and snippets.

@davelab6
Created October 3, 2025 22:56
Show Gist options
  • Select an option

  • Save davelab6/957b96dab79007a15d5d99d5ecb33e12 to your computer and use it in GitHub Desktop.

Select an option

Save davelab6/957b96dab79007a15d5d99d5ecb33e12 to your computer and use it in GitHub Desktop.
import os
import argparse
from fontTools.ttLib import TTFont, TTLibError
# --- Configuration ---
# The character limit imposed by Microsoft Office's LogFontA struct.
CHAR_LIMIT = 32
# The root directory to start searching from. Assumes a structure like ./license/familyname/
ROOT_DIRECTORY = '.'
def get_name_by_id(font, name_id):
"""
Retrieves a name string from the font's 'name' table by its ID.
It prioritizes Windows platform, English language names.
"""
for record in font['name'].names:
if record.nameID == name_id and record.platformID == 3 and record.langID == 1033:
return record.toUnicode()
# Fallback to any other platform/language if the preferred one isn't found
for record in font['name'].names:
if record.nameID == name_id:
return record.toUnicode()
return None
def check_font_family(family_path, family_name):
"""
Analyzes all TTF files within a specific family directory to check for name length violations.
"""
violations = []
try:
font_files = [f for f in os.listdir(family_path) if f.lower().endswith('.ttf')]
if not font_files:
return []
# We only need to check one font file for the family-wide names and fvar table.
# Assuming all fonts in the family folder are part of the same variable font or static family.
font_path = os.path.join(family_path, font_files[0])
with TTFont(font_path) as font:
# Check if it's a variable font by looking for the 'fvar' table
if 'fvar' in font:
# For variable fonts, the name is Typographic Family + fvar instance name
base_family_name = get_name_by_id(font, 16) or get_name_by_id(font, 1)
if not base_family_name:
print(f" [WARNING] Could not find NameID 16 or 1 for variable font in '{family_name}'. Skipping.")
return []
for instance in font['fvar'].instances:
subfamily_name = get_name_by_id(font, instance.subfamilyNameID)
if not subfamily_name:
continue
# MS Office combines the names with a space
full_name = f"{base_family_name} {subfamily_name}"
if len(full_name) >= CHAR_LIMIT:
violations.append((full_name, len(full_name)))
# It's a static font (or multiple static fonts)
else:
for font_file in font_files:
static_font_path = os.path.join(family_path, font_file)
with TTFont(static_font_path) as static_font:
# Prefer Typographic Family (NameID 16 + 17)
family = get_name_by_id(static_font, 16)
subfamily = get_name_by_id(static_font, 17)
# Fallback to Font Family (NameID 1 + 2)
if not family or not subfamily:
family = get_name_by_id(static_font, 1)
subfamily = get_name_by_id(static_font, 2)
if not family or not subfamily:
print(f" [WARNING] Could not determine name for static font '{font_file}'. Skipping.")
continue
full_name = f"{family} {subfamily}"
if len(full_name) >= CHAR_LIMIT:
violations.append((full_name, len(full_name)))
except TTLibError:
print(f" [ERROR] Could not process a font file in '{family_name}'. It might be corrupted.")
except Exception as e:
print(f" [ERROR] An unexpected error occurred while processing '{family_name}': {e}")
return list(set(violations)) # Return unique violations
def main():
"""
Main function to scan directories and report font name length issues.
"""
parser = argparse.ArgumentParser(
description="Check font family names against Microsoft Office's 32-character limit."
)
parser.add_argument(
"license_dir",
nargs='?', # Makes the argument optional
default=os.path.join(ROOT_DIRECTORY, 'license'),
help="Path to the directory containing font family subdirectories. Defaults to './license'."
)
args = parser.parse_args()
license_dir = args.license_dir
print("--- Font Name Length Checker for Microsoft Office ---")
print(f"Scanning for font families that exceed the {CHAR_LIMIT}-character limit...")
violating_families = {}
if not os.path.isdir(license_dir):
print(f"\n[ERROR] The specified directory was not found: '{os.path.abspath(license_dir)}'")
print("Please provide a valid path to the directory containing font families.")
return
family_names = [d for d in os.listdir(license_dir) if os.path.isdir(os.path.join(license_dir, d))]
if not family_names:
print(f"\nNo font family subdirectories found in '{license_dir}'.")
return
print(f"Found {len(family_names)} families to check in '{os.path.abspath(license_dir)}'.\n")
for family_name in family_names:
family_path = os.path.join(license_dir, family_name)
violations = check_font_family(family_path, family_name)
if violations:
violating_families[family_name] = violations
print("--- Scan Complete ---")
if not violating_families:
print("Success! No families were found with names exceeding the limit.")
else:
print(f"\nFound {len(violating_families)} families with name length issues:\n")
for family, violations in violating_families.items():
print(f"Family: {family}")
for name, length in sorted(violations):
print(f" - \"{name}\" ({length} chars)")
print("")
if __name__ == "__main__":
main()
$ python check_font_names.py ufl
--- Font Name Length Checker for Microsoft Office ---
Scanning for font families that exceed the 32-character limit...
Found 5 families to check in '/Users/dcrossland/fonts/ufl'.
--- Scan Complete ---
Found 1 families with name length issues:
Family: ubuntusans
- "Ubuntu Sans Condensed Bold Italic" (33 chars)
- "Ubuntu Sans Condensed ExtraBold Italic" (38 chars)
- "Ubuntu Sans Condensed ExtraLight Italic" (39 chars)
- "Ubuntu Sans Condensed Light Italic" (34 chars)
- "Ubuntu Sans Condensed Medium Italic" (35 chars)
- "Ubuntu Sans Condensed SemiBold Italic" (37 chars)
- "Ubuntu Sans Condensed Thin Italic" (33 chars)
$ python check_font_names.py ofl
--- Font Name Length Checker for Microsoft Office ---
Scanning for font families that exceed the 32-character limit...
Found 1944 families to check in '/Users/dcrossland/fonts/ofl'.
--- Scan Complete ---
Found 143 families with name length issues:
Family: bitcountpropdoubleink
- "Bitcount Prop Double Ink Black Italic" (37 chars)
- "Bitcount Prop Double Ink Bold Italic" (36 chars)
- "Bitcount Prop Double Ink ExtraBold" (34 chars)
- "Bitcount Prop Double Ink ExtraBold Italic" (41 chars)
- "Bitcount Prop Double Ink ExtraLight" (35 chars)
- "Bitcount Prop Double Ink ExtraLight Italic" (42 chars)
- "Bitcount Prop Double Ink Light Italic" (37 chars)
- "Bitcount Prop Double Ink Medium Italic" (38 chars)
- "Bitcount Prop Double Ink Regular" (32 chars)
- "Bitcount Prop Double Ink SemiBold" (33 chars)
- "Bitcount Prop Double Ink SemiBold Italic" (40 chars)
- "Bitcount Prop Double Ink Thin Italic" (36 chars)
Family: googlesanscode
- "Google Sans Code ExtraBold Italic" (33 chars)
- "Google Sans Code SemiBold Italic" (32 chars)
Family: playwritehrlijevaguides
- "Playwrite HR Lijeva Guides Regular" (34 chars)
Family: playwritefrtradguides
- "Playwrite FR Trad Guides Regular" (32 chars)
Family: barlowsemicondensed
- "Barlow Semi Condensed Black Italic" (34 chars)
- "Barlow Semi Condensed Bold Italic" (33 chars)
- "Barlow Semi Condensed ExtraBold Italic" (38 chars)
- "Barlow Semi Condensed ExtraLight" (32 chars)
- "Barlow Semi Condensed ExtraLight Italic" (39 chars)
- "Barlow Semi Condensed Light Italic" (34 chars)
- "Barlow Semi Condensed Medium Italic" (35 chars)
- "Barlow Semi Condensed SemiBold Italic" (37 chars)
- "Barlow Semi Condensed Thin Italic" (33 chars)
Family: bigshoulderstextsc
- "Big Shoulders Text SC ExtraLight" (32 chars)
Family: notosansthaiui
- "Noto Sans Thai UI Condensed Black" (33 chars)
- "Noto Sans Thai UI Condensed Bold" (32 chars)
- "Noto Sans Thai UI Condensed ExtraBold" (37 chars)
- "Noto Sans Thai UI Condensed ExtraLight" (38 chars)
- "Noto Sans Thai UI Condensed Light" (33 chars)
- "Noto Sans Thai UI Condensed Medium" (34 chars)
- "Noto Sans Thai UI Condensed SemiBold " (37 chars)
- "Noto Sans Thai UI Condensed Thin" (32 chars)
- "Noto Sans Thai UI ExtraCondensed" (32 chars)
- "Noto Sans Thai UI ExtraCondensed Black" (38 chars)
- "Noto Sans Thai UI ExtraCondensed Bold" (37 chars)
- "Noto Sans Thai UI ExtraCondensed ExtraBold" (42 chars)
- "Noto Sans Thai UI ExtraCondensed ExtraLight" (43 chars)
- "Noto Sans Thai UI ExtraCondensed Light" (38 chars)
- "Noto Sans Thai UI ExtraCondensed Medium" (39 chars)
- "Noto Sans Thai UI ExtraCondensed SemiBold" (41 chars)
- "Noto Sans Thai UI ExtraCondensed Thin" (37 chars)
- "Noto Sans Thai UI SemiCondensed Black" (37 chars)
- "Noto Sans Thai UI SemiCondensed Bold" (36 chars)
- "Noto Sans Thai UI SemiCondensed ExtraBold" (41 chars)
- "Noto Sans Thai UI SemiCondensed ExtraLight" (42 chars)
- "Noto Sans Thai UI SemiCondensed Light" (37 chars)
- "Noto Sans Thai UI SemiCondensed Medium" (38 chars)
- "Noto Sans Thai UI SemiCondensed SemiBold" (40 chars)
- "Noto Sans Thai UI SemiCondensed Thin" (36 chars)
Family: sairasemicondensed
- "Saira SemiCondensed SemiCond Bold" (33 chars)
Family: notosanstamilsupplement
- "Noto Sans Tamil Supplement Regular" (34 chars)
Family: playfairdisplay
- "Playfair Display ExtraBold Italic" (33 chars)
- "Playfair Display SemiBold Italic" (32 chars)
Family: bigshouldersinlinedisplaysc
- "Big Shoulders Inline Display SC Black" (37 chars)
- "Big Shoulders Inline Display SC Bold" (36 chars)
- "Big Shoulders Inline Display SC ExtraBold" (41 chars)
- "Big Shoulders Inline Display SC ExtraLight" (42 chars)
- "Big Shoulders Inline Display SC Light" (37 chars)
- "Big Shoulders Inline Display SC Medium" (38 chars)
- "Big Shoulders Inline Display SC Regular" (39 chars)
- "Big Shoulders Inline Display SC SemiBold" (40 chars)
- "Big Shoulders Inline Display SC Thin" (36 chars)
Family: notosansdisplay
- "Noto Sans Display Condensed Black Italic" (40 chars)
- "Noto Sans Display Condensed Bold Italic" (39 chars)
- "Noto Sans Display Condensed ExtraBold Italic" (44 chars)
- "Noto Sans Display Condensed ExtraLight Italic" (45 chars)
- "Noto Sans Display Condensed Italic" (34 chars)
- "Noto Sans Display Condensed Light Italic" (40 chars)
- "Noto Sans Display Condensed Medium Italic" (41 chars)
- "Noto Sans Display Condensed SemiBold Italic" (43 chars)
- "Noto Sans Display Condensed Thin Italic" (39 chars)
- "Noto Sans Display ExtraBold Italic" (34 chars)
- "Noto Sans Display ExtraCondensed Black Italic" (45 chars)
- "Noto Sans Display ExtraCondensed Bold Italic" (44 chars)
- "Noto Sans Display ExtraCondensed ExtraBold Italic" (49 chars)
- "Noto Sans Display ExtraCondensed ExtraLight Italic" (50 chars)
- "Noto Sans Display ExtraCondensed Italic" (39 chars)
- "Noto Sans Display ExtraCondensed Light Italic" (45 chars)
- "Noto Sans Display ExtraCondensed Medium Italic" (46 chars)
- "Noto Sans Display ExtraCondensed SemiBold Italic" (48 chars)
- "Noto Sans Display ExtraCondensed Thin Italic" (44 chars)
- "Noto Sans Display ExtraLight Italic" (35 chars)
- "Noto Sans Display SemiBold Italic" (33 chars)
- "Noto Sans Display SemiCondensed Black Italic" (44 chars)
- "Noto Sans Display SemiCondensed Bold Italic" (43 chars)
- "Noto Sans Display SemiCondensed ExtraBold Italic" (48 chars)
- "Noto Sans Display SemiCondensed ExtraLight Italic" (49 chars)
- "Noto Sans Display SemiCondensed Italic" (38 chars)
- "Noto Sans Display SemiCondensed Light Italic" (44 chars)
- "Noto Sans Display SemiCondensed Medium Italic" (45 chars)
- "Noto Sans Display SemiCondensed SemiBold Italic" (47 chars)
- "Noto Sans Display SemiCondensed Thin Italic" (43 chars)
Family: barlowcondensed
- "Barlow Condensed ExtraBold Italic" (33 chars)
- "Barlow Condensed ExtraLight Italic" (34 chars)
- "Barlow Condensed SemiBold Italic" (32 chars)
Family: splinesansmono
- "Spline Sans Mono SemiBold Italic" (32 chars)
Family: jacquardabastarda9charted
- "Jacquarda Bastarda 9 Charted Regular" (36 chars)
Family: sofiasanssemicondensed
- "Sofia Sans Semi Condensed ExtraBold" (35 chars)
- "Sofia Sans Semi Condensed ExtraLight" (36 chars)
- "Sofia Sans Semi Condensed Medium" (32 chars)
- "Sofia Sans Semi Condensed Regular" (33 chars)
- "Sofia Sans Semi Condensed SemiBold" (34 chars)
Family: notoserifdisplay
- "Noto Serif Display Condensed Black" (34 chars)
- "Noto Serif Display Condensed Bold" (33 chars)
- "Noto Serif Display Condensed ExtraBold" (38 chars)
- "Noto Serif Display Condensed ExtraLight" (39 chars)
- "Noto Serif Display Condensed Light" (34 chars)
- "Noto Serif Display Condensed Medium" (35 chars)
- "Noto Serif Display Condensed SemiBold" (37 chars)
- "Noto Serif Display Condensed Thin" (33 chars)
- "Noto Serif Display ExtraCondensed" (33 chars)
- "Noto Serif Display ExtraCondensed Black" (39 chars)
- "Noto Serif Display ExtraCondensed Bold" (38 chars)
- "Noto Serif Display ExtraCondensed ExtraBold" (43 chars)
- "Noto Serif Display ExtraCondensed ExtraLight" (44 chars)
- "Noto Serif Display ExtraCondensed Light" (39 chars)
- "Noto Serif Display ExtraCondensed Medium" (40 chars)
- "Noto Serif Display ExtraCondensed SemiBold" (42 chars)
- "Noto Serif Display ExtraCondensed Thin" (38 chars)
- "Noto Serif Display SemiCondensed" (32 chars)
- "Noto Serif Display SemiCondensed Black" (38 chars)
- "Noto Serif Display SemiCondensed Bold" (37 chars)
- "Noto Serif Display SemiCondensed ExtraBold" (42 chars)
- "Noto Serif Display SemiCondensed ExtraLight" (43 chars)
- "Noto Serif Display SemiCondensed Light" (38 chars)
- "Noto Serif Display SemiCondensed Medium" (39 chars)
- "Noto Serif Display SemiCondensed SemiBold" (41 chars)
- "Noto Serif Display SemiCondensed Thin" (37 chars)
Family: bigshouldersstencildisplay
- "Big Shoulders Stencil Display Black" (35 chars)
- "Big Shoulders Stencil Display Bold" (34 chars)
- "Big Shoulders Stencil Display ExtraBold" (39 chars)
- "Big Shoulders Stencil Display ExtraLight" (40 chars)
- "Big Shoulders Stencil Display Light" (35 chars)
- "Big Shoulders Stencil Display Medium" (36 chars)
- "Big Shoulders Stencil Display Regular" (37 chars)
- "Big Shoulders Stencil Display SemiBold" (38 chars)
- "Big Shoulders Stencil Display Thin" (34 chars)
Family: notosanscanadianaboriginal
- "Noto Sans Canadian Aboriginal Black" (35 chars)
- "Noto Sans Canadian Aboriginal Bold" (34 chars)
- "Noto Sans Canadian Aboriginal ExtraBold" (39 chars)
- "Noto Sans Canadian Aboriginal ExtraLight" (40 chars)
- "Noto Sans Canadian Aboriginal Light" (35 chars)
- "Noto Sans Canadian Aboriginal Medium" (36 chars)
- "Noto Sans Canadian Aboriginal Regular" (37 chars)
- "Noto Sans Canadian Aboriginal SemiBold" (38 chars)
- "Noto Sans Canadian Aboriginal Thin" (34 chars)
Family: notosansthailooped
- "Noto Sans Thai Looped ExtraLight" (32 chars)
Family: zalandosanssemiexpanded
- "Zalando Sans SemiExpanded ExtraBold" (35 chars)
- "Zalando Sans SemiExpanded ExtraLight" (36 chars)
- "Zalando Sans SemiExpanded Medium" (32 chars)
- "Zalando Sans SemiExpanded Regular" (33 chars)
- "Zalando Sans SemiExpanded SemiBold" (34 chars)
Family: encodesans
- "Encode Sans Condensed ExtraLight" (32 chars)
- "Encode Sans SemiCondensed ExtraBold" (35 chars)
- "Encode Sans SemiCondensed ExtraLight" (36 chars)
- "Encode Sans SemiCondensed Medium" (32 chars)
- "Encode Sans SemiCondensed Regular" (33 chars)
- "Encode Sans SemiCondensed SemiBold" (34 chars)
- "Encode Sans SemiExpanded ExtraBold" (34 chars)
- "Encode Sans SemiExpanded ExtraLight" (35 chars)
- "Encode Sans SemiExpanded Regular" (32 chars)
- "Encode Sans SemiExpanded SemiBold" (33 chars)
Family: alumnisanscollegiateone
- "Alumni Sans Collegiate One Italic" (33 chars)
- "Alumni Sans Collegiate One Regular" (34 chars)
Family: notoserifnyiakengpuachuehmong
- "Noto Serif Nyiakeng Puachue Hmong Bold" (38 chars)
- "Noto Serif Nyiakeng Puachue Hmong Medium" (40 chars)
- "Noto Serif Nyiakeng Puachue Hmong Regular" (41 chars)
- "Noto Serif Nyiakeng Puachue Hmong SemiBold" (42 chars)
Family: playwritefrmoderneguides
- "Playwrite FR Moderne Guides Regular" (35 chars)
Family: encodesanssc
- "Encode Sans SC Condensed ExtraBold" (34 chars)
- "Encode Sans SC Condensed ExtraLight" (35 chars)
- "Encode Sans SC Condensed Regular" (32 chars)
- "Encode Sans SC Condensed SemiBold" (33 chars)
- "Encode Sans SC Expanded ExtraBold" (33 chars)
- "Encode Sans SC Expanded ExtraLight" (34 chars)
- "Encode Sans SC Expanded SemiBold" (32 chars)
- "Encode Sans SC SemiCondensed Black" (34 chars)
- "Encode Sans SC SemiCondensed Bold" (33 chars)
- "Encode Sans SC SemiCondensed ExtraBold" (38 chars)
- "Encode Sans SC SemiCondensed ExtraLight" (39 chars)
- "Encode Sans SC SemiCondensed Light" (34 chars)
- "Encode Sans SC SemiCondensed Medium" (35 chars)
- "Encode Sans SC SemiCondensed Regular" (36 chars)
- "Encode Sans SC SemiCondensed SemiBold" (37 chars)
- "Encode Sans SC SemiCondensed Thin" (33 chars)
- "Encode Sans SC SemiExpanded Black" (33 chars)
- "Encode Sans SC SemiExpanded Bold" (32 chars)
- "Encode Sans SC SemiExpanded ExtraBold" (37 chars)
- "Encode Sans SC SemiExpanded ExtraLight" (38 chars)
- "Encode Sans SC SemiExpanded Light" (33 chars)
- "Encode Sans SC SemiExpanded Medium" (34 chars)
- "Encode Sans SC SemiExpanded Regular" (35 chars)
- "Encode Sans SC SemiExpanded SemiBold" (36 chars)
- "Encode Sans SC SemiExpanded Thin" (32 chars)
Family: annieuseyourtelescope
- "Annie Use Your Telescope Regular" (32 chars)
Family: bigshouldersinlinetextsc
- "Big Shoulders Inline Text SC Black" (34 chars)
- "Big Shoulders Inline Text SC Bold" (33 chars)
- "Big Shoulders Inline Text SC ExtraBold" (38 chars)
- "Big Shoulders Inline Text SC ExtraLight" (39 chars)
- "Big Shoulders Inline Text SC Light" (34 chars)
- "Big Shoulders Inline Text SC Medium" (35 chars)
- "Big Shoulders Inline Text SC Regular" (36 chars)
- "Big Shoulders Inline Text SC SemiBold" (37 chars)
- "Big Shoulders Inline Text SC Thin" (33 chars)
Family: playwritegbs
- "Playwrite GB S ExtraLight Italic" (32 chars)
Family: sairaextracondensed
- "Saira ExtraCondensed ExCond Bold" (32 chars)
Family: sourcecodepro
- "Source Code Pro ExtraBold Italic" (32 chars)
- "Source Code Pro ExtraLight Italic" (33 chars)
Family: yaldevicolombo
- "Yaldevi Colombo ExtraLight Regular" (34 chars)
- "Yaldevi Colombo SemiBold Regular" (32 chars)
Family: notosansanatolianhieroglyphs
- "Noto Sans Anatolian Hieroglyphs Regular" (39 chars)
Family: alumnisanscollegiateonesc
- "Alumni Sans Collegiate One SC Italic" (36 chars)
- "Alumni Sans Collegiate One SC Regular" (37 chars)
Family: notosansadlamunjoined
- "Noto Sans Adlam Unjoined Regular" (32 chars)
- "Noto Sans Adlam Unjoined SemiBold" (33 chars)
Family: bitcountgriddouble
- "Bitcount Grid Double Black Italic" (33 chars)
- "Bitcount Grid Double Bold Italic" (32 chars)
- "Bitcount Grid Double ExtraBold Italic" (37 chars)
- "Bitcount Grid Double ExtraLight Italic" (38 chars)
- "Bitcount Grid Double Light Italic" (33 chars)
- "Bitcount Grid Double Medium Italic" (34 chars)
- "Bitcount Grid Double SemiBold Italic" (36 chars)
- "Bitcount Grid Double Thin Italic" (32 chars)
Family: bitcountgridsingleink
- "Bitcount Grid Single Ink Black Italic" (37 chars)
- "Bitcount Grid Single Ink Bold Italic" (36 chars)
- "Bitcount Grid Single Ink ExtraBold" (34 chars)
- "Bitcount Grid Single Ink ExtraBold Italic" (41 chars)
- "Bitcount Grid Single Ink ExtraLight" (35 chars)
- "Bitcount Grid Single Ink ExtraLight Italic" (42 chars)
- "Bitcount Grid Single Ink Light Italic" (37 chars)
- "Bitcount Grid Single Ink Medium Italic" (38 chars)
- "Bitcount Grid Single Ink Regular" (32 chars)
- "Bitcount Grid Single Ink SemiBold" (33 chars)
- "Bitcount Grid Single Ink SemiBold Italic" (40 chars)
- "Bitcount Grid Single Ink Thin Italic" (36 chars)
Family: notoserifhentaigana
- "Noto Serif Hentaigana ExtraLight" (32 chars)
Family: librebarcodeean13text
- "Libre Barcode EAN13 Text Regular" (32 chars)
Family: ibmplexsansthailooped
- "IBM Plex Sans Thai Looped ExtraLight" (36 chars)
- "IBM Plex Sans Thai Looped Medium" (32 chars)
- "IBM Plex Sans Thai Looped Regular" (33 chars)
- "IBM Plex Sans Thai Looped SemiBold" (34 chars)
Family: ibmplexsanscondensed
- "IBM Plex Sans Condensed Bold Italic" (35 chars)
- "IBM Plex Sans Condensed ExtraLight" (34 chars)
- "IBM Plex Sans Condensed ExtraLight Italic" (41 chars)
- "IBM Plex Sans Condensed Light Italic" (36 chars)
- "IBM Plex Sans Condensed Medium Italic" (37 chars)
- "IBM Plex Sans Condensed SemiBold" (32 chars)
- "IBM Plex Sans Condensed SemiBold Italic" (39 chars)
- "IBM Plex Sans Condensed Thin Italic" (35 chars)
Family: bitcountpropdouble
- "Bitcount Prop Double Black Italic" (33 chars)
- "Bitcount Prop Double Bold Italic" (32 chars)
- "Bitcount Prop Double ExtraBold Italic" (37 chars)
- "Bitcount Prop Double ExtraLight Italic" (38 chars)
- "Bitcount Prop Double Light Italic" (33 chars)
- "Bitcount Prop Double Medium Italic" (34 chars)
- "Bitcount Prop Double SemiBold Italic" (36 chars)
- "Bitcount Prop Double Thin Italic" (32 chars)
Family: specialgothicexpandedone
- "Special Gothic Expanded One Regular" (35 chars)
Family: familjengrotesk
- "Familjen Grotesk SemiBold Italic" (32 chars)
Family: librebarcode39extendedtext
- "Libre Barcode 39 Extended Text Regular" (38 chars)
Family: playwriteustradguides
- "Playwrite US Trad Guides Regular" (32 chars)
Family: libertinusserifdisplay
- "Libertinus Serif Display Regular" (32 chars)
Family: notosanshanifirohingya
- "Noto Sans Hanifi Rohingya Medium" (32 chars)
- "Noto Sans Hanifi Rohingya Regular" (33 chars)
- "Noto Sans Hanifi Rohingya SemiBold" (34 chars)
Family: bigshouldersstencil
- "Big Shoulders Stencil ExtraLight" (32 chars)
Family: recursive
- "Recursive Mono Casual Black Italic" (34 chars)
- "Recursive Mono Casual Bold Italic" (33 chars)
- "Recursive Mono Casual ExtraBlack" (32 chars)
- "Recursive Mono Casual ExtraBlack Italic" (39 chars)
- "Recursive Mono Casual ExtraBold Italic" (38 chars)
- "Recursive Mono Casual Light Italic" (34 chars)
- "Recursive Mono Casual Medium Italic" (35 chars)
- "Recursive Mono Casual SemiBold Italic" (37 chars)
- "Recursive Mono Linear Black Italic" (34 chars)
- "Recursive Mono Linear Bold Italic" (33 chars)
- "Recursive Mono Linear ExtraBlack" (32 chars)
- "Recursive Mono Linear ExtraBlack Italic" (39 chars)
- "Recursive Mono Linear ExtraBold Italic" (38 chars)
- "Recursive Mono Linear Light Italic" (34 chars)
- "Recursive Mono Linear Medium Italic" (35 chars)
- "Recursive Mono Linear SemiBold Italic" (37 chars)
- "Recursive Sans Casual Black Italic" (34 chars)
- "Recursive Sans Casual Bold Italic" (33 chars)
- "Recursive Sans Casual ExtraBlack" (32 chars)
- "Recursive Sans Casual ExtraBlack Italic" (39 chars)
- "Recursive Sans Casual ExtraBold Italic" (38 chars)
- "Recursive Sans Casual Light Italic" (34 chars)
- "Recursive Sans Casual Medium Italic" (35 chars)
- "Recursive Sans Casual SemiBold Italic" (37 chars)
- "Recursive Sans Linear Black Italic" (34 chars)
- "Recursive Sans Linear Bold Italic" (33 chars)
- "Recursive Sans Linear ExtraBlack" (32 chars)
- "Recursive Sans Linear ExtraBlack Italic" (39 chars)
- "Recursive Sans Linear ExtraBold Italic" (38 chars)
- "Recursive Sans Linear Light Italic" (34 chars)
- "Recursive Sans Linear Medium Italic" (35 chars)
- "Recursive Sans Linear SemiBold Italic" (37 chars)
Family: hankengrotesk
- "Hanken Grotesk ExtraLight Italic" (32 chars)
Family: montserratunderline
- "Montserrat Underline Black Italic" (33 chars)
- "Montserrat Underline Bold Italic" (32 chars)
- "Montserrat Underline ExtraBold Italic" (37 chars)
- "Montserrat Underline ExtraLight Italic" (38 chars)
- "Montserrat Underline Light Italic" (33 chars)
- "Montserrat Underline Medium Italic" (34 chars)
- "Montserrat Underline SemiBold Italic" (36 chars)
- "Montserrat Underline Thin Italic" (32 chars)
Family: notosanskhmerui
- "Noto Sans Khmer UI Condensed Black" (34 chars)
- "Noto Sans Khmer UI Condensed Bold" (33 chars)
- "Noto Sans Khmer UI Condensed ExtraBold" (38 chars)
- "Noto Sans Khmer UI Condensed ExtraLight" (39 chars)
- "Noto Sans Khmer UI Condensed Light" (34 chars)
- "Noto Sans Khmer UI Condensed Medium" (35 chars)
- "Noto Sans Khmer UI Condensed SemiBold" (37 chars)
- "Noto Sans Khmer UI Condensed Thin" (33 chars)
- "Noto Sans Khmer UI ExtraCondensed" (33 chars)
- "Noto Sans Khmer UI ExtraCondensed Black" (39 chars)
- "Noto Sans Khmer UI ExtraCondensed Bold" (38 chars)
- "Noto Sans Khmer UI ExtraCondensed ExtraBold" (43 chars)
- "Noto Sans Khmer UI ExtraCondensed ExtraLight" (44 chars)
- "Noto Sans Khmer UI ExtraCondensed Light" (39 chars)
- "Noto Sans Khmer UI ExtraCondensed Medium" (40 chars)
- "Noto Sans Khmer UI ExtraCondensed SemiBold" (42 chars)
- "Noto Sans Khmer UI ExtraCondensed Thin" (38 chars)
- "Noto Sans Khmer UI SemiCondensed" (32 chars)
- "Noto Sans Khmer UI SemiCondensed Black" (38 chars)
- "Noto Sans Khmer UI SemiCondensed Bold" (37 chars)
- "Noto Sans Khmer UI SemiCondensed ExtraBold" (42 chars)
- "Noto Sans Khmer UI SemiCondensed ExtraLight" (43 chars)
- "Noto Sans Khmer UI SemiCondensed Light" (38 chars)
- "Noto Sans Khmer UI SemiCondensed Medium" (39 chars)
- "Noto Sans Khmer UI SemiCondensed SemiBold" (41 chars)
- "Noto Sans Khmer UI SemiCondensed Thin" (37 chars)
Family: notosanslaoui
- "Noto Sans Lao UI Condensed Black" (32 chars)
- "Noto Sans Lao UI Condensed ExtraBold" (36 chars)
- "Noto Sans Lao UI Condensed ExtraLight" (37 chars)
- "Noto Sans Lao UI Condensed Light" (32 chars)
- "Noto Sans Lao UI Condensed Medium" (33 chars)
- "Noto Sans Lao UI Condensed SemiBold" (35 chars)
- "Noto Sans Lao UI ExtraCondensed Black" (37 chars)
- "Noto Sans Lao UI ExtraCondensed Bold" (36 chars)
- "Noto Sans Lao UI ExtraCondensed ExtraBold" (41 chars)
- "Noto Sans Lao UI ExtraCondensed ExtraLight" (42 chars)
- "Noto Sans Lao UI ExtraCondensed Light" (37 chars)
- "Noto Sans Lao UI ExtraCondensed Medium" (38 chars)
- "Noto Sans Lao UI ExtraCondensed SemiBold" (40 chars)
- "Noto Sans Lao UI ExtraCondensed Thin" (36 chars)
- "Noto Sans Lao UI SemiCondensed Black" (36 chars)
- "Noto Sans Lao UI SemiCondensed Bold" (35 chars)
- "Noto Sans Lao UI SemiCondensed ExtraBold" (40 chars)
- "Noto Sans Lao UI SemiCondensed ExtraLight" (41 chars)
- "Noto Sans Lao UI SemiCondensed Light" (36 chars)
- "Noto Sans Lao UI SemiCondensed Medium" (37 chars)
- "Noto Sans Lao UI SemiCondensed SemiBold" (39 chars)
- "Noto Sans Lao UI SemiCondensed Thin" (35 chars)
Family: sofiasansextracondensed
- "Sofia Sans Extra Condensed Black" (32 chars)
- "Sofia Sans Extra Condensed ExtraBold" (36 chars)
- "Sofia Sans Extra Condensed ExtraLight" (37 chars)
- "Sofia Sans Extra Condensed Light" (32 chars)
- "Sofia Sans Extra Condensed Medium" (33 chars)
- "Sofia Sans Extra Condensed Regular" (34 chars)
- "Sofia Sans Extra Condensed SemiBold" (35 chars)
Family: alumnisanssc
- "Alumni Sans SC ExtraLight Italic" (32 chars)
Family: notosansbengaliui
- "Noto Sans Bengali UI ExtraCondensed" (35 chars)
- "Noto Sans Bengali UI SemiCondensed" (34 chars)
Family: atkinsonhyperlegiblemono
- "Atkinson Hyperlegible Mono ExtraBold" (36 chars)
- "Atkinson Hyperlegible Mono ExtraLight" (37 chars)
- "Atkinson Hyperlegible Mono Light" (32 chars)
- "Atkinson Hyperlegible Mono Medium" (33 chars)
- "Atkinson Hyperlegible Mono Regular" (34 chars)
- "Atkinson Hyperlegible Mono SemiBold" (35 chars)
Family: encodesanssemicondensed
- "Encode Sans Semi Condensed Black" (32 chars)
- "Encode Sans Semi Condensed ExtraBold" (36 chars)
- "Encode Sans Semi Condensed ExtraLight" (37 chars)
- "Encode Sans Semi Condensed Light" (32 chars)
- "Encode Sans Semi Condensed Medium" (33 chars)
- "Encode Sans Semi Condensed Regular" (34 chars)
- "Encode Sans Semi Condensed SemiBold" (35 chars)
Family: robotocondensed
- "Roboto Condensed ExtraBold Italic" (33 chars)
- "Roboto Condensed ExtraLight Italic" (34 chars)
- "Roboto Condensed SemiBold Italic" (32 chars)
Family: notosansinscriptionalparthian
- "Noto Sans Inscriptional Parthian Regular" (40 chars)
Family: notosansoldnortharabian
- "Noto Sans Old North Arabian Regular" (35 chars)
Family: bigshouldersdisplaysc
- "Big Shoulders Display SC ExtraBold" (34 chars)
- "Big Shoulders Display SC ExtraLight" (35 chars)
- "Big Shoulders Display SC Regular" (32 chars)
- "Big Shoulders Display SC SemiBold" (33 chars)
Family: notosansimperialaramaic
- "Noto Sans Imperial Aramaic Regular" (34 chars)
Family: playwriteittradguides
- "Playwrite IT Trad Guides Regular" (32 chars)
Family: firasansextracondensed
- "Fira Sans Extra Condensed Black Italic" (38 chars)
- "Fira Sans Extra Condensed Bold Italic" (37 chars)
- "Fira Sans Extra Condensed ExtraBold" (35 chars)
- "Fira Sans Extra Condensed ExtraBold Italic" (42 chars)
- "Fira Sans Extra Condensed ExtraLight" (36 chars)
- "Fira Sans Extra Condensed ExtraLight Italic" (43 chars)
- "Fira Sans Extra Condensed Italic" (32 chars)
- "Fira Sans Extra Condensed Light Italic" (38 chars)
- "Fira Sans Extra Condensed Medium" (32 chars)
- "Fira Sans Extra Condensed Medium Italic" (39 chars)
- "Fira Sans Extra Condensed Regular" (33 chars)
- "Fira Sans Extra Condensed SemiBold" (34 chars)
- "Fira Sans Extra Condensed SemiBold Italic" (41 chars)
- "Fira Sans Extra Condensed Thin Italic" (37 chars)
Family: playwritedegrundguides
- "Playwrite DE Grund Guides Regular" (33 chars)
Family: notosanszanabazarsquare
- "Noto Sans Zanabazar Square Regular" (34 chars)
Family: notoznamennymusicalnotation
- "Noto Znamenny Musical Notation Regular" (38 chars)
Family: firasanscondensed
- "Fira Sans Condensed Black Italic" (32 chars)
- "Fira Sans Condensed ExtraBold Italic" (36 chars)
- "Fira Sans Condensed ExtraLight Italic" (37 chars)
- "Fira Sans Condensed Light Italic" (32 chars)
- "Fira Sans Condensed Medium Italic" (33 chars)
- "Fira Sans Condensed SemiBold Italic" (35 chars)
Family: librebarcode39extended
- "Libre Barcode 39 Extended Regular" (33 chars)
Family: asapcondensed
- "Asap Condensed Condensed Regular Italic" (39 chars)
- "Asap Condensed ExtraLight Italic" (32 chars)
Family: inconsolata
- "Inconsolata Condensed ExtraLight" (32 chars)
- "Inconsolata ExtraCondensed Black" (32 chars)
- "Inconsolata ExtraCondensed ExtraBold" (36 chars)
- "Inconsolata ExtraCondensed ExtraLight" (37 chars)
- "Inconsolata ExtraCondensed Light" (32 chars)
- "Inconsolata ExtraCondensed Medium" (33 chars)
- "Inconsolata ExtraCondensed Regular" (34 chars)
- "Inconsolata ExtraCondensed SemiBold" (35 chars)
- "Inconsolata ExtraExpanded ExtraBold" (35 chars)
- "Inconsolata ExtraExpanded ExtraLight" (36 chars)
- "Inconsolata ExtraExpanded Medium" (32 chars)
- "Inconsolata ExtraExpanded Regular" (33 chars)
- "Inconsolata ExtraExpanded SemiBold" (34 chars)
- "Inconsolata SemiCondensed ExtraBold" (35 chars)
- "Inconsolata SemiCondensed ExtraLight" (36 chars)
- "Inconsolata SemiCondensed Medium" (32 chars)
- "Inconsolata SemiCondensed Regular" (33 chars)
- "Inconsolata SemiCondensed SemiBold" (34 chars)
- "Inconsolata SemiExpanded ExtraBold" (34 chars)
- "Inconsolata SemiExpanded ExtraLight" (35 chars)
- "Inconsolata SemiExpanded Regular" (32 chars)
- "Inconsolata SemiExpanded SemiBold" (33 chars)
- "Inconsolata UltraCondensed Black" (32 chars)
- "Inconsolata UltraCondensed ExtraBold" (36 chars)
- "Inconsolata UltraCondensed ExtraLight" (37 chars)
- "Inconsolata UltraCondensed Light" (32 chars)
- "Inconsolata UltraCondensed Medium" (33 chars)
- "Inconsolata UltraCondensed Regular" (34 chars)
- "Inconsolata UltraCondensed SemiBold" (35 chars)
- "Inconsolata UltraExpanded ExtraBold" (35 chars)
- "Inconsolata UltraExpanded ExtraLight" (36 chars)
- "Inconsolata UltraExpanded Medium" (32 chars)
- "Inconsolata UltraExpanded Regular" (33 chars)
- "Inconsolata UltraExpanded SemiBold" (34 chars)
Family: playwritedkuloopetguides
- "Playwrite DK Uloopet Guides Regular" (35 chars)
Family: playwriteesdecoguides
- "Playwrite ES Deco Guides Regular" (32 chars)
Family: encodesanssemiexpanded
- "Encode Sans Semi Expanded ExtraBold" (35 chars)
- "Encode Sans Semi Expanded ExtraLight" (36 chars)
- "Encode Sans Semi Expanded Medium" (32 chars)
- "Encode Sans Semi Expanded Regular" (33 chars)
- "Encode Sans Semi Expanded SemiBold" (34 chars)
Family: ibmplexserif
- "IBM Plex Serif ExtraLight Italic" (32 chars)
Family: eduauvicwantguides
- "Edu AU VIC WA NT Guides SemiBold" (32 chars)
Family: notosansarabicui
- "Noto Sans Arabic UI Condensed Black" (35 chars)
- "Noto Sans Arabic UI Condensed Bold" (34 chars)
- "Noto Sans Arabic UI Condensed ExtraBold" (39 chars)
- "Noto Sans Arabic UI Condensed ExtraLight" (40 chars)
- "Noto Sans Arabic UI Condensed Light" (35 chars)
- "Noto Sans Arabic UI Condensed Medium" (36 chars)
- "Noto Sans Arabic UI Condensed SemiBold" (38 chars)
- "Noto Sans Arabic UI Condensed Thin" (34 chars)
- "Noto Sans Arabic UI ExtraCondensed" (34 chars)
- "Noto Sans Arabic UI ExtraCondensed Black" (40 chars)
- "Noto Sans Arabic UI ExtraCondensed Bold" (39 chars)
- "Noto Sans Arabic UI ExtraCondensed ExtraBold" (44 chars)
- "Noto Sans Arabic UI ExtraCondensed ExtraLight" (45 chars)
- "Noto Sans Arabic UI ExtraCondensed Light" (40 chars)
- "Noto Sans Arabic UI ExtraCondensed Medium" (41 chars)
- "Noto Sans Arabic UI ExtraCondensed SemiBold" (43 chars)
- "Noto Sans Arabic UI ExtraCondensed Thin" (39 chars)
- "Noto Sans Arabic UI SemiCondensed" (33 chars)
- "Noto Sans Arabic UI SemiCondensed Black" (39 chars)
- "Noto Sans Arabic UI SemiCondensed Bold" (38 chars)
- "Noto Sans Arabic UI SemiCondensed ExtraBold" (43 chars)
- "Noto Sans Arabic UI SemiCondensed ExtraLight" (44 chars)
- "Noto Sans Arabic UI SemiCondensed Light" (39 chars)
- "Noto Sans Arabic UI SemiCondensed Medium" (40 chars)
- "Noto Sans Arabic UI SemiCondensed SemiBold" (42 chars)
- "Noto Sans Arabic UI SemiCondensed Thin" (38 chars)
Family: notosanspsalterpahlavi
- "Noto Sans Psalter Pahlavi Regular" (33 chars)
Family: bigshouldersinlinetext
- "Big Shoulders Inline Text ExtraBold" (35 chars)
- "Big Shoulders Inline Text ExtraLight" (36 chars)
- "Big Shoulders Inline Text Medium" (32 chars)
- "Big Shoulders Inline Text Regular" (33 chars)
- "Big Shoulders Inline Text SemiBold" (34 chars)
Family: tirodevanagarisanskrit
- "Tiro Devanagari Sanskrit Regular" (32 chars)
Family: bitcountpropsingle
- "Bitcount Prop Single Black Italic" (33 chars)
- "Bitcount Prop Single Bold Italic" (32 chars)
- "Bitcount Prop Single ExtraBold Italic" (37 chars)
- "Bitcount Prop Single ExtraLight Italic" (38 chars)
- "Bitcount Prop Single Light Italic" (33 chars)
- "Bitcount Prop Single Medium Italic" (34 chars)
- "Bitcount Prop Single SemiBold Italic" (36 chars)
- "Bitcount Prop Single Thin Italic" (32 chars)
Family: bitcountpropsingleink
- "Bitcount Prop Single Ink Black Italic" (37 chars)
- "Bitcount Prop Single Ink Bold Italic" (36 chars)
- "Bitcount Prop Single Ink ExtraBold" (34 chars)
- "Bitcount Prop Single Ink ExtraBold Italic" (41 chars)
- "Bitcount Prop Single Ink ExtraLight" (35 chars)
- "Bitcount Prop Single Ink ExtraLight Italic" (42 chars)
- "Bitcount Prop Single Ink Light Italic" (37 chars)
- "Bitcount Prop Single Ink Medium Italic" (38 chars)
- "Bitcount Prop Single Ink Regular" (32 chars)
- "Bitcount Prop Single Ink SemiBold" (33 chars)
- "Bitcount Prop Single Ink SemiBold Italic" (40 chars)
- "Bitcount Prop Single Ink Thin Italic" (36 chars)
Family: atkinsonhyperlegible
- "Atkinson Hyperlegible Bold Italic" (33 chars)
Family: chocolateclassicalsans
- "Chocolate Classical Sans Regular" (32 chars)
Family: playwriteitmodernaguides
- "Playwrite IT Moderna Guides Regular" (35 chars)
Family: bitcountgriddoubleink
- "Bitcount Grid Double Ink Black Italic" (37 chars)
- "Bitcount Grid Double Ink Bold Italic" (36 chars)
- "Bitcount Grid Double Ink ExtraBold" (34 chars)
- "Bitcount Grid Double Ink ExtraBold Italic" (41 chars)
- "Bitcount Grid Double Ink ExtraLight" (35 chars)
- "Bitcount Grid Double Ink ExtraLight Italic" (42 chars)
- "Bitcount Grid Double Ink Light Italic" (37 chars)
- "Bitcount Grid Double Ink Medium Italic" (38 chars)
- "Bitcount Grid Double Ink Regular" (32 chars)
- "Bitcount Grid Double Ink SemiBold" (33 chars)
- "Bitcount Grid Double Ink SemiBold Italic" (40 chars)
- "Bitcount Grid Double Ink Thin Italic" (36 chars)
Family: wixmadefortext
- "Wix Madefor Text ExtraBold Italic" (33 chars)
- "Wix Madefor Text SemiBold Italic" (32 chars)
Family: playfairdisplaysc
- "Playfair Display SC Black Italic" (32 chars)
Family: zalandosansexpanded
- "Zalando Sans Expanded Black Italic" (34 chars)
- "Zalando Sans Expanded Bold Italic" (33 chars)
- "Zalando Sans Expanded ExtraBold Italic" (38 chars)
- "Zalando Sans Expanded ExtraLight Italic" (39 chars)
- "Zalando Sans Expanded Light Italic" (34 chars)
- "Zalando Sans Expanded Medium Italic" (35 chars)
- "Zalando Sans Expanded SemiBold Italic" (37 chars)
Family: bigshouldersinlinedisplay
- "Big Shoulders Inline Display Black" (34 chars)
- "Big Shoulders Inline Display Bold" (33 chars)
- "Big Shoulders Inline Display ExtraBold" (38 chars)
- "Big Shoulders Inline Display ExtraLight" (39 chars)
- "Big Shoulders Inline Display Light" (34 chars)
- "Big Shoulders Inline Display Medium" (35 chars)
- "Big Shoulders Inline Display Regular" (36 chars)
- "Big Shoulders Inline Display SemiBold" (37 chars)
- "Big Shoulders Inline Display Thin" (33 chars)
Family: notoserifdevanagari
- "Noto Serif Devanagari ExtraLight" (32 chars)
Family: thabit
- "Thabit-Bold-Oblique Bold Oblique" (32 chars)
Family: specialgothiccondensedone
- "Special Gothic Condensed One Regular" (36 chars)
Family: cormorantinfant
- "Cormorant Infant SemiBold Italic" (32 chars)
Family: sofiasanscondensed
- "Sofia Sans Condensed Black Italic" (33 chars)
- "Sofia Sans Condensed Bold Italic" (32 chars)
- "Sofia Sans Condensed ExtraBold Italic" (37 chars)
- "Sofia Sans Condensed ExtraLight Italic" (38 chars)
- "Sofia Sans Condensed Light Italic" (33 chars)
- "Sofia Sans Condensed Medium Italic" (34 chars)
- "Sofia Sans Condensed SemiBold Italic" (36 chars)
- "Sofia Sans Condensed Thin Italic" (32 chars)
Family: notocoloremojicompattest
- "Noto Color Emoji Compat Test Regular" (36 chars)
Family: notosansmalayalamui
- "Noto Sans Malayalam UI Condensed" (32 chars)
- "Noto Sans Malayalam UI Condensed Black" (38 chars)
- "Noto Sans Malayalam UI Condensed Bold" (37 chars)
- "Noto Sans Malayalam UI Condensed ExtraBold" (42 chars)
- "Noto Sans Malayalam UI Condensed ExtraLight" (43 chars)
- "Noto Sans Malayalam UI Condensed Light" (38 chars)
- "Noto Sans Malayalam UI Condensed Medium" (39 chars)
- "Noto Sans Malayalam UI Condensed SemiBold" (41 chars)
- "Noto Sans Malayalam UI Condensed Thin" (37 chars)
- "Noto Sans Malayalam UI ExtraBold" (32 chars)
- "Noto Sans Malayalam UI ExtraCondensed" (37 chars)
- "Noto Sans Malayalam UI ExtraCondensed Black" (43 chars)
- "Noto Sans Malayalam UI ExtraCondensed Bold" (42 chars)
- "Noto Sans Malayalam UI ExtraCondensed ExtraBold" (47 chars)
- "Noto Sans Malayalam UI ExtraCondensed ExtraLight" (48 chars)
- "Noto Sans Malayalam UI ExtraCondensed Light" (43 chars)
- "Noto Sans Malayalam UI ExtraCondensed Medium" (44 chars)
- "Noto Sans Malayalam UI ExtraCondensed SemiBold" (46 chars)
- "Noto Sans Malayalam UI ExtraCondensed Thin" (42 chars)
- "Noto Sans Malayalam UI ExtraLight" (33 chars)
- "Noto Sans Malayalam UI SemiCondensed" (36 chars)
- "Noto Sans Malayalam UI SemiCondensed Black" (42 chars)
- "Noto Sans Malayalam UI SemiCondensed Bold" (41 chars)
- "Noto Sans Malayalam UI SemiCondensed ExtraBold" (46 chars)
- "Noto Sans Malayalam UI SemiCondensed ExtraLight" (47 chars)
- "Noto Sans Malayalam UI SemiCondensed Light" (42 chars)
- "Noto Sans Malayalam UI SemiCondensed Medium" (43 chars)
- "Noto Sans Malayalam UI SemiCondensed SemiBold" (45 chars)
- "Noto Sans Malayalam UI SemiCondensed Thin" (41 chars)
Family: notosansteluguui
- "Noto Sans Telugu UI Condensed Black" (35 chars)
- "Noto Sans Telugu UI Condensed Bold" (34 chars)
- "Noto Sans Telugu UI Condensed ExtraBold" (39 chars)
- "Noto Sans Telugu UI Condensed ExtraLight" (40 chars)
- "Noto Sans Telugu UI Condensed Light" (35 chars)
- "Noto Sans Telugu UI Condensed Medium" (36 chars)
- "Noto Sans Telugu UI Condensed SemiBold" (38 chars)
- "Noto Sans Telugu UI Condensed Thin" (34 chars)
- "Noto Sans Telugu UI ExtraCondensed" (34 chars)
- "Noto Sans Telugu UI ExtraCondensed Black" (40 chars)
- "Noto Sans Telugu UI ExtraCondensed Bold" (39 chars)
- "Noto Sans Telugu UI ExtraCondensed ExtraBold" (44 chars)
- "Noto Sans Telugu UI ExtraCondensed ExtraLight" (45 chars)
- "Noto Sans Telugu UI ExtraCondensed Light" (40 chars)
- "Noto Sans Telugu UI ExtraCondensed Medium" (41 chars)
- "Noto Sans Telugu UI ExtraCondensed SemiBold" (43 chars)
- "Noto Sans Telugu UI ExtraCondensed Thin" (39 chars)
- "Noto Sans Telugu UI SemiCondensed" (33 chars)
- "Noto Sans Telugu UI SemiCondensed Black" (39 chars)
- "Noto Sans Telugu UI SemiCondensed Bold" (38 chars)
- "Noto Sans Telugu UI SemiCondensed ExtraBold" (43 chars)
- "Noto Sans Telugu UI SemiCondensed ExtraLight" (44 chars)
- "Noto Sans Telugu UI SemiCondensed Light" (39 chars)
- "Noto Sans Telugu UI SemiCondensed Medium" (40 chars)
- "Noto Sans Telugu UI SemiCondensed SemiBold" (42 chars)
- "Noto Sans Telugu UI SemiCondensed Thin" (38 chars)
Family: bigshouldersstencildisplaysc
- "Big Shoulders Stencil Display SC Black" (38 chars)
- "Big Shoulders Stencil Display SC Bold" (37 chars)
- "Big Shoulders Stencil Display SC ExtraBold" (42 chars)
- "Big Shoulders Stencil Display SC ExtraLight" (43 chars)
- "Big Shoulders Stencil Display SC Light" (38 chars)
- "Big Shoulders Stencil Display SC Medium" (39 chars)
- "Big Shoulders Stencil Display SC Regular" (40 chars)
- "Big Shoulders Stencil Display SC SemiBold" (41 chars)
- "Big Shoulders Stencil Display SC Thin" (37 chars)
Family: notosansinscriptionalpahlavi
- "Noto Sans Inscriptional Pahlavi Regular" (39 chars)
Family: notosansegyptianhieroglyphs
- "Noto Sans Egyptian Hieroglyphs Regular" (38 chars)
Family: sixtyfourconvergence
- "Sixtyfour Convergence Overexposed" (33 chars)
- "Sixtyfour Convergence Overlapping" (33 chars)
Family: notosansgujaratiui
- "Noto Sans Gujarati UI ExtraLight" (32 chars)
Family: notosanskannadaui
- "Noto Sans Kannada UI Condensed Black" (36 chars)
- "Noto Sans Kannada UI Condensed Bold" (35 chars)
- "Noto Sans Kannada UI Condensed ExtraBold" (40 chars)
- "Noto Sans Kannada UI Condensed ExtraLight" (41 chars)
- "Noto Sans Kannada UI Condensed Light" (36 chars)
- "Noto Sans Kannada UI Condensed Medium" (37 chars)
- "Noto Sans Kannada UI Condensed SemiBold" (39 chars)
- "Noto Sans Kannada UI Condensed Thin" (35 chars)
- "Noto Sans Kannada UI ExtraCondensed" (35 chars)
- "Noto Sans Kannada UI ExtraCondensed Black" (41 chars)
- "Noto Sans Kannada UI ExtraCondensed Bold" (40 chars)
- "Noto Sans Kannada UI ExtraCondensed ExtraBold" (45 chars)
- "Noto Sans Kannada UI ExtraCondensed ExtraLight" (46 chars)
- "Noto Sans Kannada UI ExtraCondensed Light" (41 chars)
- "Noto Sans Kannada UI ExtraCondensed Medium" (42 chars)
- "Noto Sans Kannada UI ExtraCondensed SemiBold" (44 chars)
- "Noto Sans Kannada UI ExtraCondensed Thin" (40 chars)
- "Noto Sans Kannada UI SemiCondensed" (34 chars)
- "Noto Sans Kannada UI SemiCondensed Black" (40 chars)
- "Noto Sans Kannada UI SemiCondensed Bold" (39 chars)
- "Noto Sans Kannada UI SemiCondensed ExtraBold" (44 chars)
- "Noto Sans Kannada UI SemiCondensed ExtraLight" (45 chars)
- "Noto Sans Kannada UI SemiCondensed Light" (40 chars)
- "Noto Sans Kannada UI SemiCondensed Medium" (41 chars)
- "Noto Sans Kannada UI SemiCondensed SemiBold" (43 chars)
- "Noto Sans Kannada UI SemiCondensed Thin" (39 chars)
Family: bigshouldersstenciltext
- "Big Shoulders Stencil Text Black" (32 chars)
- "Big Shoulders Stencil Text ExtraBold" (36 chars)
- "Big Shoulders Stencil Text ExtraLight" (37 chars)
- "Big Shoulders Stencil Text Light" (32 chars)
- "Big Shoulders Stencil Text Medium" (33 chars)
- "Big Shoulders Stencil Text Regular" (34 chars)
- "Big Shoulders Stencil Text SemiBold" (35 chars)
Family: libertinusserif
- "Libertinus Serif SemiBold Italic" (32 chars)
Family: playwritedkloopetguides
- "Playwrite DK Loopet Guides Regular" (34 chars)
Family: roboto
- "Roboto Condensed ExtraBold Italic" (33 chars)
- "Roboto Condensed ExtraLight Italic" (34 chars)
- "Roboto Condensed SemiBold Italic" (32 chars)
Family: alegreyasanssc
- "Alegreya Sans SC ExtraBold Italic" (33 chars)
Family: notosanscaucasianalbanian
- "Noto Sans Caucasian Albanian Regular" (36 chars)
Family: notoserifkhitansmallscript
- "Noto Serif Khitan Small Script Regular" (38 chars)
Family: atkinsonhyperlegiblenext
- "Atkinson Hyperlegible Next Bold Italic" (38 chars)
- "Atkinson Hyperlegible Next ExtraBold Italic" (43 chars)
- "Atkinson Hyperlegible Next ExtraLight Italic" (44 chars)
- "Atkinson Hyperlegible Next Italic" (33 chars)
- "Atkinson Hyperlegible Next Light Italic" (39 chars)
- "Atkinson Hyperlegible Next Medium Italic" (40 chars)
- "Atkinson Hyperlegible Next SemiBold Italic" (42 chars)
Family: notosanssinhalaui
- "Noto Sans Sinhala UI Condensed Black" (36 chars)
- "Noto Sans Sinhala UI Condensed Bold" (35 chars)
- "Noto Sans Sinhala UI Condensed ExtraBold" (40 chars)
- "Noto Sans Sinhala UI Condensed ExtraLight" (41 chars)
- "Noto Sans Sinhala UI Condensed Light" (36 chars)
- "Noto Sans Sinhala UI Condensed Medium" (37 chars)
- "Noto Sans Sinhala UI Condensed SemiBold" (39 chars)
- "Noto Sans Sinhala UI Condensed Thin" (35 chars)
- "Noto Sans Sinhala UI ExtraCondensed" (35 chars)
- "Noto Sans Sinhala UI ExtraCondensed Black" (41 chars)
- "Noto Sans Sinhala UI ExtraCondensed Bold" (40 chars)
- "Noto Sans Sinhala UI ExtraCondensed ExtraBold" (45 chars)
- "Noto Sans Sinhala UI ExtraCondensed ExtraLight" (46 chars)
- "Noto Sans Sinhala UI ExtraCondensed Light" (41 chars)
- "Noto Sans Sinhala UI ExtraCondensed Medium" (42 chars)
- "Noto Sans Sinhala UI ExtraCondensed SemiBold" (44 chars)
- "Noto Sans Sinhala UI ExtraCondensed Thin" (40 chars)
- "Noto Sans Sinhala UI SemiCondensed" (34 chars)
- "Noto Sans Sinhala UI SemiCondensed Black" (40 chars)
- "Noto Sans Sinhala UI SemiCondensed Bold" (39 chars)
- "Noto Sans Sinhala UI SemiCondensed ExtraBold" (44 chars)
- "Noto Sans Sinhala UI SemiCondensed ExtraLight" (45 chars)
- "Noto Sans Sinhala UI SemiCondensed Light" (40 chars)
- "Noto Sans Sinhala UI SemiCondensed Medium" (41 chars)
- "Noto Sans Sinhala UI SemiCondensed SemiBold" (43 chars)
- "Noto Sans Sinhala UI SemiCondensed Thin" (39 chars)
Family: bitcountsingle
- "Bitcount Single ExtraBold Italic" (32 chars)
- "Bitcount Single ExtraLight Italic" (33 chars)
Family: bigshouldersstenciltextsc
- "Big Shoulders Stencil Text SC Black" (35 chars)
- "Big Shoulders Stencil Text SC Bold" (34 chars)
- "Big Shoulders Stencil Text SC ExtraBold" (39 chars)
- "Big Shoulders Stencil Text SC ExtraLight" (40 chars)
- "Big Shoulders Stencil Text SC Light" (35 chars)
- "Big Shoulders Stencil Text SC Medium" (36 chars)
- "Big Shoulders Stencil Text SC Regular" (37 chars)
- "Big Shoulders Stencil Text SC SemiBold" (38 chars)
- "Big Shoulders Stencil Text SC Thin" (34 chars)
Family: notosanstamilui
- "Noto Sans Tamil UI Condensed Black" (34 chars)
- "Noto Sans Tamil UI Condensed Bold" (33 chars)
- "Noto Sans Tamil UI Condensed ExtraBold" (38 chars)
- "Noto Sans Tamil UI Condensed ExtraLight" (39 chars)
- "Noto Sans Tamil UI Condensed Light" (34 chars)
- "Noto Sans Tamil UI Condensed Medium" (35 chars)
- "Noto Sans Tamil UI Condensed SemiBold" (37 chars)
- "Noto Sans Tamil UI Condensed Thin" (33 chars)
- "Noto Sans Tamil UI ExtraCondensed" (33 chars)
- "Noto Sans Tamil UI ExtraCondensed Black" (39 chars)
- "Noto Sans Tamil UI ExtraCondensed Bold" (38 chars)
- "Noto Sans Tamil UI ExtraCondensed ExtraBold" (43 chars)
- "Noto Sans Tamil UI ExtraCondensed ExtraLight" (44 chars)
- "Noto Sans Tamil UI ExtraCondensed Light" (39 chars)
- "Noto Sans Tamil UI ExtraCondensed Medium" (40 chars)
- "Noto Sans Tamil UI ExtraCondensed SemiBold" (42 chars)
- "Noto Sans Tamil UI ExtraCondensed Thin" (38 chars)
- "Noto Sans Tamil UI SemiCondensed" (32 chars)
- "Noto Sans Tamil UI SemiCondensed Black" (38 chars)
- "Noto Sans Tamil UI SemiCondensed Bold" (37 chars)
- "Noto Sans Tamil UI SemiCondensed ExtraBold" (42 chars)
- "Noto Sans Tamil UI SemiCondensed ExtraLight" (43 chars)
- "Noto Sans Tamil UI SemiCondensed Light" (38 chars)
- "Noto Sans Tamil UI SemiCondensed Medium" (39 chars)
- "Noto Sans Tamil UI SemiCondensed SemiBold" (41 chars)
- "Noto Sans Tamil UI SemiCondensed Thin" (37 chars)
Family: notosansmayannumerals
- "Noto Sans Mayan Numerals Regular" (32 chars)
Family: montserratalternates
- "Montserrat Alternates Black Italic" (34 chars)
- "Montserrat Alternates Bold Italic" (33 chars)
- "Montserrat Alternates ExtraBold Italic" (38 chars)
- "Montserrat Alternates ExtraLight" (32 chars)
- "Montserrat Alternates ExtraLight Italic" (39 chars)
- "Montserrat Alternates Light Italic" (34 chars)
- "Montserrat Alternates Medium Italic" (35 chars)
- "Montserrat Alternates SemiBold Italic" (37 chars)
- "Montserrat Alternates Thin Italic" (33 chars)
Family: notoserifottomansiyaq
- "Noto Serif Ottoman Siyaq Regular" (32 chars)
Family: playwritengmodernguides
- "Playwrite NG Modern Guides Regular" (34 chars)
Family: bigshouldersdisplay
- "Big Shoulders Display ExtraLight" (32 chars)
Family: playwriteusmodernguides
- "Playwrite US Modern Guides Regular" (34 chars)
Family: schibstedgrotesk
- "Schibsted Grotesk ExtraBold Italic" (34 chars)
- "Schibsted Grotesk SemiBold Italic" (33 chars)
Family: notosansgunjalagondi
- "Noto Sans Gunjala Gondi SemiBold" (32 chars)
Family: librefranklin
- "Libre Franklin ExtraLight Italic" (32 chars)
Family: ibmplexsansdevanagari
- "IBM Plex Sans Devanagari ExtraLight" (35 chars)
- "IBM Plex Sans Devanagari Regular" (32 chars)
- "IBM Plex Sans Devanagari SemiBold" (33 chars)
Family: encodesanscondensed
- "Encode Sans Condensed ExtraLight" (32 chars)
Family: sourceserif4
- "Source Serif 4 ExtraLight Italic" (32 chars)
Family: bitcountgridsingle
- "Bitcount Grid Single Black Italic" (33 chars)
- "Bitcount Grid Single Bold Italic" (32 chars)
- "Bitcount Grid Single ExtraBold Italic" (37 chars)
- "Bitcount Grid Single ExtraLight Italic" (38 chars)
- "Bitcount Grid Single Light Italic" (33 chars)
- "Bitcount Grid Single Medium Italic" (34 chars)
- "Bitcount Grid Single SemiBold Italic" (36 chars)
- "Bitcount Grid Single Thin Italic" (32 chars)
Family: notosansdevanagariui
- "Noto Sans Devanagari UI ExtraBold" (33 chars)
- "Noto Sans Devanagari UI ExtraLight" (34 chars)
- "Noto Sans Devanagari UI SemiBold" (32 chars)
Family: notosansoldsoutharabian
- "Noto Sans Old South Arabian Regular" (35 chars)
Family: notosansgurmukhiui
- "Noto Sans Gurmukhi UI Condensed Black" (37 chars)
- "Noto Sans Gurmukhi UI Condensed Bold" (36 chars)
- "Noto Sans Gurmukhi UI Condensed ExtraBold" (41 chars)
- "Noto Sans Gurmukhi UI Condensed ExtraLight" (42 chars)
- "Noto Sans Gurmukhi UI Condensed Light" (37 chars)
- "Noto Sans Gurmukhi UI Condensed Medium" (38 chars)
- "Noto Sans Gurmukhi UI Condensed SemiBold" (40 chars)
- "Noto Sans Gurmukhi UI Condensed Thin" (36 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed" (36 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed Black" (42 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed Bold" (41 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed ExtraBold" (46 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed ExtraLight" (47 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed Light" (42 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed Medium" (43 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed SemiBold" (45 chars)
- "Noto Sans Gurmukhi UI ExtraCondensed Thin" (41 chars)
- "Noto Sans Gurmukhi UI ExtraLight" (32 chars)
- "Noto Sans Gurmukhi UI SemiCondensed" (35 chars)
- "Noto Sans Gurmukhi UI SemiCondensed Black" (41 chars)
- "Noto Sans Gurmukhi UI SemiCondensed Bold" (40 chars)
- "Noto Sans Gurmukhi UI SemiCondensed ExtraBold" (45 chars)
- "Noto Sans Gurmukhi UI SemiCondensed ExtraLight" (46 chars)
- "Noto Sans Gurmukhi UI SemiCondensed Light" (41 chars)
- "Noto Sans Gurmukhi UI SemiCondensed Medium" (42 chars)
- "Noto Sans Gurmukhi UI SemiCondensed SemiBold" (44 chars)
- "Noto Sans Gurmukhi UI SemiCondensed Thin" (40 chars)
Family: bevietnampro
- "Be Vietnam Pro ExtraLight Italic" (32 chars)
Family: notosansmeeteimayek
- "Noto Sans Meetei Mayek ExtraBold" (32 chars)
- "Noto Sans Meetei Mayek ExtraLight" (33 chars)
Family: radiocanadabig
- "Radio Canada Big SemiBold Italic" (32 chars)
Family: plusjakartasans
- "Plus Jakarta Sans ExtraBold Italic" (34 chars)
- "Plus Jakarta Sans ExtraLight Italic" (35 chars)
- "Plus Jakarta Sans SemiBold Italic" (33 chars)
Family: notosanssyriacwestern
- "Noto Sans Syriac Western ExtraBold" (34 chars)
- "Noto Sans Syriac Western ExtraLight" (35 chars)
- "Noto Sans Syriac Western Regular" (32 chars)
- "Noto Sans Syriac Western SemiBold" (33 chars)
Family: notosansindicsiyaqnumbers
- "Noto Sans Indic Siyaq Numbers Regular" (37 chars)
Family: notosanssyriaceastern
- "Noto Sans Syriac Eastern ExtraBold" (34 chars)
- "Noto Sans Syriac Eastern ExtraLight" (35 chars)
- "Noto Sans Syriac Eastern Regular" (32 chars)
- "Noto Sans Syriac Eastern SemiBold" (33 chars)
Family: eduauvicwantarrows
- "Edu AU VIC WA NT Arrows SemiBold" (32 chars)
Family: bitcountsingleink
- "Bitcount Single Ink Black Italic" (32 chars)
- "Bitcount Single Ink ExtraBold Italic" (36 chars)
- "Bitcount Single Ink ExtraLight Italic" (37 chars)
- "Bitcount Single Ink Light Italic" (32 chars)
- "Bitcount Single Ink Medium Italic" (33 chars)
- "Bitcount Single Ink SemiBold Italic" (35 chars)
$ python check_font_names.py apache
--- Font Name Length Checker for Microsoft Office ---
Scanning for font families that exceed the 32-character limit...
Found 47 families to check in '/Users/dcrossland/fonts/apache'.
--- Scan Complete ---
Found 2 families with name length issues:
Family: opensanshebrewcondensed
- "Open Sans Hebrew Condensed Bold Italic" (38 chars)
- "Open Sans Hebrew Condensed Extra Bold" (37 chars)
- "Open Sans Hebrew Condensed Extra Bold Italic" (44 chars)
- "Open Sans Hebrew Condensed Italic" (33 chars)
- "Open Sans Hebrew Condensed Light" (32 chars)
- "Open Sans Hebrew Condensed Light Italic" (39 chars)
- "Open Sans Hebrew Condensed Regular" (34 chars)
Family: opensanshebrew
- "Open Sans Hebrew Extra Bold Italic" (34 chars)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment