]> git.eshelyaron.com Git - emacs.git/commit
Properly instruct Italic Arial or BS Mono at small PPEM sizes
authorPo Lu <luangruo@yahoo.com>
Mon, 8 Jan 2024 07:32:07 +0000 (15:32 +0800)
committerPo Lu <luangruo@yahoo.com>
Mon, 8 Jan 2024 07:51:51 +0000 (15:51 +0800)
commit2656d756851d97434da7846a5a30202baafb2241
tree9f980e028ad0ace01145cac8686f39272aa126dc
parentc946efe7b3778302cd64442b451f806f4be7e78e
Properly instruct Italic Arial or BS Mono at small PPEM sizes

* src/sfnt.c (sfnt_read_simple_glyph): Correct alignment errors.
(PUSH2_UNCHECKED): Don't shift negative signed value to the
left.
(SLOOP): Permit LOOP to be set to 0, which inhibits the
execution of instructions it affects.
(sfnt_address_zp2, sfnt_address_zp1, sfnt_address_zp0): Permit X
and Y to be NULL.
(sfnt_dot_fix_14): Guarantee that the final value is rounded to
negative infinity, not zero.
(sfnt_project_zp1_zp0_org): New function.
(sfnt_interpret_mdrp): Avoid rounding issues by computing
original distance from unscaled coordinates, if at all possible.
(sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2):
Set zone->simple.
(all_tests) <LOOP>: Update test.
(sfnt_identify_instruction, main): Adjust tests.

* src/sfnt.h (struct sfnt_interpreter_zone): New field simple.
src/sfnt.c
src/sfnt.h