Skip to content

Commit bf75c51

Browse files
committed
Re-use serialized buffer data
We already have it. This breaks shaping comparison after switching to uharfbuzz serialization.
1 parent 0aec315 commit bf75c51

1 file changed

Lines changed: 7 additions & 20 deletions

File tree

Lib/alifTools/shaping/check.py

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,10 @@ def create_report_item(
123123
message: str,
124124
text: str | None = None,
125125
parameters: ShapingParameters = {},
126-
new_buf: hb.Buffer | FakeBuffer | None = None, # type: ignore
127-
old_buf: hb.Buffer | None = None, # type: ignore
126+
new_buf: hb.Buffer | None = None, # type: ignore
127+
old_buf: hb.Buffer | FakeBuffer | str | None = None, # type: ignore
128+
serialized_new_buf: str | None = None,
129+
serialized_old_buf: str | None = None,
128130
note: str | None = None,
129131
extra_data: Dict | None = None,
130132
) -> str:
@@ -137,23 +139,6 @@ def create_report_item(
137139
if extra_data:
138140
message += f"<pre>{extra_data}</pre>\n"
139141

140-
serialized_new_buf = None
141-
serialized_old_buf = None
142-
if old_buf:
143-
if isinstance(old_buf, FakeBuffer):
144-
try:
145-
serialized_old_buf = serialize_buffer(font, old_buf)
146-
except Exception:
147-
# This may fail if the glyphs are not found in the font
148-
serialized_old_buf = None
149-
old_buf = None # Don't try to draw it either
150-
else:
151-
serialized_old_buf = old_buf
152-
153-
if new_buf:
154-
glyphs_only = bool(old_buf and isinstance(old_buf, str))
155-
serialized_new_buf = serialize_buffer(font, new_buf, glyphs_only=glyphs_only)
156-
157142
# Report a diff table
158143
if serialized_old_buf and serialized_new_buf:
159144
message += f"{diff(serialized_old_buf, serialized_new_buf)}\n"
@@ -368,7 +353,7 @@ def generate_shaping_regression_report(
368353
if k in test
369354
}
370355
parameters = get_shaping_parameters(test, configuration)
371-
# Make HTML report here.
356+
372357
if "=" in expected:
373358
buf2 = _buffer_from_string(font, expected)
374359
else:
@@ -381,6 +366,8 @@ def generate_shaping_regression_report(
381366
parameters=parameters,
382367
new_buf=output_buf,
383368
old_buf=buf2,
369+
serialized_new_buf=output_serialized,
370+
serialized_old_buf=expected,
384371
note=test.get("note"),
385372
extra_data=extra_data,
386373
)

0 commit comments

Comments
 (0)