{"record":{"id":"362a24afd27d5eac","repo":"warpdotdev/warp","slug":"font-not-found-font-path","errorCode":null,"errorMessage":"Font not found: {font_path}","messagePattern":"Font not found: (.+?)","errorType":"exception","errorClass":"SystemExit","httpStatus":null,"severity":"error","filePath":"script/patch_font_with_warp_glyph","lineNumber":76,"sourceCode":"            # Accept 0xE500, E500, or decimal.\n            codepoint = int(v, 16) if (v.startswith(\"0x\") or any(c in v.lower() for c in \"abcdef\")) else int(v)\n        elif arg == \"--name\":\n            i += 1\n            if i >= len(argv):\n                usage(2)\n            glyph_name = argv[i]\n        else:\n            print(f\"Unknown argument: {arg}\")\n            usage(2)\n\n        i += 1\n\n    return font_path, svg_path, codepoint, glyph_name\n\n\ndef patch_font(font_path: str, svg_path: str, codepoint: int, glyph_name: str) -> None:\n    if not os.path.exists(font_path):\n        raise SystemExit(f\"Font not found: {font_path}\")\n\n    if not os.path.exists(svg_path):\n        raise SystemExit(f\"SVG not found: {svg_path}\")\n\n    font = fontforge.open(font_path)\n\n    # Create or replace the glyph.\n    g = font.createChar(codepoint, glyph_name)\n    g.clear()\n\n    # Import the outlines.\n    g.importOutlines(svg_path)\n\n    # Clean up and make it robust for rasterization.\n    g.removeOverlap()\n    g.simplify()\n    g.correctDirection()\n","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/script/patch_font_with_warp_glyph#L58-L94","documentation":"Error \"Font not found: {font_path}\" thrown in warpdotdev/warp.","triggerScenarios":"Thrown at script/patch_font_with_warp_glyph:76 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}