mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-09-19 09:51:48 +02:00
font-patcher: Improve warnings
[why] We have 2 different types of metrics warnings. When one warning has been issued the other is not displayed (if it would trigger). The reason was that I thought normally there would be no warnings and if someone would have to inventigate the sourcefont anyhow. [how] But the warnings are quite common, so differentiate a bit more when generating. Also improve one warning message to make clear what the warning is about. And fix the assignment of advance width to width; which has no consequence because it is never used (at the moment). But it was obviously wrong. Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This commit is contained in:
parent
e31bdaa071
commit
2d316225fb
1 changed files with 10 additions and 9 deletions
19
font-patcher
19
font-patcher
|
@ -1116,7 +1116,8 @@ class font_patcher:
|
|||
# Step 2
|
||||
# Find the biggest char width and advance width
|
||||
# 0x00-0x17f is the Latin Extended-A range
|
||||
warned = self.args.quiet or self.args.nonmono # Do not warn if quiet or proportional target
|
||||
warned1 = self.args.quiet or self.args.nonmono # Do not warn if quiet or proportional target
|
||||
warned2 = warned1
|
||||
for glyph in range(0x21, 0x17f):
|
||||
if glyph in range(0x7F, 0xBF) or glyph in [
|
||||
0x132, 0x133, # IJ, ij (in Overpass Mono)
|
||||
|
@ -1132,20 +1133,20 @@ class font_patcher:
|
|||
# print("WIDTH {:X} {} ({} {})".format(glyph, self.sourceFont[glyph].width, self.font_dim['width'], xmax))
|
||||
if self.font_dim['width'] < self.sourceFont[glyph].width:
|
||||
self.font_dim['width'] = self.sourceFont[glyph].width
|
||||
if not warned and glyph > 0x7a: # NOT 'basic' glyph, which includes a-zA-Z
|
||||
if not warned1 and glyph > 0x7a: # NOT 'basic' glyph, which includes a-zA-Z
|
||||
print("Warning: Extended glyphs wider than basic glyphs, results might be useless\n {}".format(
|
||||
report_advance_widths(self.sourceFont)))
|
||||
warned = True
|
||||
warned1 = True
|
||||
# print("New MAXWIDTH-A {:X} {} -> {} {}".format(glyph, self.sourceFont[glyph].width, self.font_dim['width'], xmax))
|
||||
if xmax > self.font_dim['xmax']:
|
||||
self.font_dim['xmax'] = xmax
|
||||
if not warned and glyph > 0x7a: # NOT 'basic' glyph, which includes a-zA-Z
|
||||
print("Warning: Extended glyphs wider than basic glyphs\n {}".format(
|
||||
report_advance_widths(self.sourceFont)))
|
||||
warned = True
|
||||
if not warned2 and glyph > 0x7a: # NOT 'basic' glyph, which includes a-zA-Z
|
||||
print("Info: Extended glyphs wider bounding box than basic glyphs")
|
||||
warned2 = True
|
||||
# print("New MAXWIDTH-B {:X} {} -> {} {}".format(glyph, self.sourceFont[glyph].width, self.font_dim['width'], xmax))
|
||||
if not self.args.quiet and self.font_dim['width'] < self.font_dim['xmax']:
|
||||
print("Warning: Font has negative right side bearing in extended glyphs")
|
||||
if self.font_dim['width'] < self.font_dim['xmax']:
|
||||
if not self.args.quiet:
|
||||
print("Warning: Font has negative right side bearing in extended glyphs")
|
||||
self.font_dim['xmax'] = self.font_dim['width'] # In fact 'xmax' is never used
|
||||
# print("FINAL", self.font_dim)
|
||||
|
||||
|
|
Loading…
Reference in a new issue