googlefonts / googlefonts/fontations
port improved overflow resolution patch from hb-repacker
- Dominant language
- Rust
- Stars
- 826
- Forks
- 75
- Avg merge
- 22h 33m
- Merged PRs (30d)
- 75
Description
via @garretrieger, there's been a patch to hb-repacker that we will want to port. the PR is at https://github.com/harfbuzz/harfbuzz/pull/4517.
From chat,
> To reproduce the original issue I ran into:
hb-subset GoogleSansMyanmar\[opsz\,wght\].ttf --unicodes="0x1000,0x1001,0x1002,0x1003,0x1004,0x1005,0x1006,0x1007,0x1008,0x1009,0x100A,0x100B,0x100C,0x100D,0x100E,0x100F,0x1010,0x1011,0x1012,0x1013,0x1014,0x1015,0x1016,0x1017,0x1018,0x1019,0x101A,0x101B,0x101C,0x101D,0x101E,0x101F,0x1020,0x1021,0x1022,0x1023,0x1024,0x1025,0x1026,0x1027,0x1028,0x1029,0x102A,0x102B,0x102C,0x102D,0x102E,0x102F,0x1030,0x1031,0x1032,0x1033,0x1034,0x1035,0x1036,0x1037,0x1038,0x1039,0x103A,0x103B,0x103C,0x103D,0x103E,0x103F,0x1040,0x1041,0x1042,0x1043,0x1044,0x1045,0x1046,0x1047,0x1048,0x1049,0x104A,0x104B,0x104C,0x104D,0x104E,0x104F,0x1050,0x1051,0x1052,0x1053,0x1054,0x1055,0x1056,0x1057,0x1058,0x1059,0x105A,0x105B,0x105C,0x105D,0x105E,0x105F,0x1060,0x1061,0x1062,0x1063,0x1064,0x1065,0x1066,0x1067,0x1068,0x1069,0x106A,0x106B,0x106C,0x106D,0x106E,0x106F,0x1070,0x1071,0x1072,0x1073,0x1074,0x1075,0x1076,0x1077,0x1078,0x1079,0x107A,0x107B,0x107C,0x107D,0x107E,0x107F,0x1080,0x1081,0x1082,0x1083,0x1084,0x1085,0x1086,0x1087,0x1088,0x1089,0x108A,0x108B,0x108C,0x108D,0x108E,0x108F,0x1090,0x1091,0x1092,0x1093,0x1094,0x1095,0x1096,0x1097,0x1098,0x1099,0x109A,0x109B,0x109C,0x109D,0x109E,0x109F,0x200B,0x200C,0x200D,0x25CC,0xA9E0,0xA9E1,0xA9E2,0xA9E3,0xA9E4,0xA9E5,0xA9E6,0xA9E7,0xA9E8,0xA9E9,0xA9EA,0xA9EB,0xA9EC,0xA9ED,0xA9EE,0xA9EF,0xA9F0,0xA9F1,0xA9F2,0xA9F3,0xA9F4,0xA9F5,0xA9F6,0xA9F7,0xA9F8,0xA9F9,0xA9FA,0xA9FB,0xA9FC,0xA9FD,0xA9FE,0xAA60,0xAA61,0xAA62,0xAA63,0xAA64,0xAA65,0xAA66,0xAA67,0xAA68,0xAA69,0xAA6A,0xAA6B,0xAA6C,0xAA6D,0xAA6E,0xAA6F,0xAA70,0xAA71,0xAA72,0xAA73,0xAA74,0xAA75,0xAA76,0xAA77,0xAA78,0xAA79,0xAA7A,0xAA7B,0xAA7C,0xAA7D,0xAA7E,0xAA7F,0x0000,0x000D,0x0020,0x0021,0x0022,0x0023,0x0024,0x0025,0x0026,0x0027,0x0028,0x0029,0x002A,0x002B,0x002C,0x002D,0x002E,0x002F,0x0030,0x0031,0x0032,0x0033,0x0034,0x0035,0x0036,0x0037,0x0038,0x0039,0x003A,0x003B,0x003C,0x003D,0x003E,0x003F,0x0040,0x0041,0x0042,0x0043,0x0044,0x0045,0x0046,0x0047,0x0048,0x0049,0x004A,0x004B,0x004C,0x004D,0x004E,0x004F,0x0050,0x0051,0x0052,0x0053,0x0054,0x0055,0x0056,0x0057,0x0058,0x0059,0x005A,0x005B,0x005C,0x005D,0x005E,0x005F,0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,0x0068,0x0069,0x006A,0x006B,0x006C,0x006D,0x006E,0x006F,0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,0x0078,0x0079,0x007A,0x007B,0x007C,0x007D,0x007E,0x00A0,0x00A1,0x00A2,0x00A3,0x00A4,0x00A5,0x00A6,0x00A7,0x00A8,0x00A9,0x00AA,0x00AB,0x00AC,0x00AD,0x00AE,0x00AF,0x00B0,0x00B1,0x00B2,0x00B3,0x00B4,0x00B5,0x00B6,0x00B7,0x00B8,0x00B9,0x00BA,0x00BB,0x00BC,0x00BD,0x00BE,0x00BF,0x00C0,0x00C1,0x00C2,0x00C3,0x00C4,0x00C5,0x00C6,0x00C7,0x00C8,0x00C9,0x00CA,0x00CB,0x00CC,0x00CD,0x00CE,0x00CF,0x00D0,0x00D1,0x00D2,0x00D3,0x00D4,0x00D5,0x00D6,0x00D7,0x00D8,0x00D9,0x00DA,0x00DB,0x00DC,0x00DD,0x00DE,0x00DF,0x00E0,0x00E1,0x00E2,0x00E3,0x00E4,0x00E5,0x00E6,0x00E7,0x00E8,0x00E9,0x00EA,0x00EB,0x00EC,0x00ED,0x00EE,0x00EF,0x00F0,0x00F1,0x00F2,0x00F3,0x00F4,0x00F5,0x00F6,0x00F7,0x00F8,0x00F9,0x00FA,0x00FB,0x00FC,0x00FD,0x00FE,0x00FF,0x0131,0x0152,0x0153,0x02BB,0x02BC,0x02C6,0x02DA,0x02DC,0x0300,0x0301,0x0303,0x0304,0x0308,0x0309,0x0323,0x0329,0x2002,0x200B,0x2009,0x2013,0x2014,0x2018,0x2019,0x201A,0x201C,0x201D,0x201E,0x2022,0x2026,0x2032,0x2033,0x2039,0x203A,0x2044,0x2074,0x20AC,0x2122,0x2191,0x2193,0x2212,0x2215,0xFEFF,0xFFFD" --instance="wght=400" --output-file=output.ttf
which resulted in a graph that hb was failing to pack.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the improved overflow-resolution patch in harfbuzz PR #4517 and reproduce the failure with the provided hb-subset command using GoogleSansMyanmar. Trace where the resulting graph fails to pack, then port the patch into fontations and verify that the reproduced graph packs successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100