[name] make addMultilingualName() also add Mac names by default.
This commit is contained in:
parent
364a578c1d
commit
8841d98652
@ -161,7 +161,8 @@ class table__n_a_m_e(DefaultTable.DefaultTable):
|
|||||||
raise ValueError("nameID must be less than 32768")
|
raise ValueError("nameID must be less than 32768")
|
||||||
return nameID
|
return nameID
|
||||||
|
|
||||||
def addMultilingualName(self, names, ttFont=None, nameID=None):
|
def addMultilingualName(self, names, ttFont=None, nameID=None,
|
||||||
|
windows=True, mac=True):
|
||||||
"""Add a multilingual name, returning its name ID
|
"""Add a multilingual name, returning its name ID
|
||||||
|
|
||||||
'names' is a dictionary with the name in multiple languages,
|
'names' is a dictionary with the name in multiple languages,
|
||||||
@ -176,6 +177,9 @@ class table__n_a_m_e(DefaultTable.DefaultTable):
|
|||||||
|
|
||||||
'nameID' is the name ID to be used, or None to let the library
|
'nameID' is the name ID to be used, or None to let the library
|
||||||
pick an unused name ID.
|
pick an unused name ID.
|
||||||
|
|
||||||
|
If 'windows' is True, a platformID=3 name record will be added.
|
||||||
|
If 'mac' is True, a platformID=1 name record will be added.
|
||||||
"""
|
"""
|
||||||
if not hasattr(self, 'names'):
|
if not hasattr(self, 'names'):
|
||||||
self.names = []
|
self.names = []
|
||||||
@ -184,15 +188,16 @@ class table__n_a_m_e(DefaultTable.DefaultTable):
|
|||||||
# TODO: Should minimize BCP 47 language codes.
|
# TODO: Should minimize BCP 47 language codes.
|
||||||
# https://github.com/fonttools/fonttools/issues/930
|
# https://github.com/fonttools/fonttools/issues/930
|
||||||
for lang, name in sorted(names.items()):
|
for lang, name in sorted(names.items()):
|
||||||
# Apple platforms have been recognizing Windows names
|
if windows:
|
||||||
# since early OSX (~2001), so we only add names
|
windowsName = _makeWindowsName(name, nameID, lang)
|
||||||
# for the Macintosh platform when we cannot not make
|
if windowsName is not None:
|
||||||
# a Windows name. This can happen for exotic BCP47
|
self.names.append(windowsName)
|
||||||
# language tags that have no Windows language code.
|
else:
|
||||||
windowsName = _makeWindowsName(name, nameID, lang)
|
# We cannot not make a Windows name: make sure we add a
|
||||||
if windowsName is not None:
|
# Mac name as a fallback. This can happen for exotic
|
||||||
self.names.append(windowsName)
|
# BCP47 language tags that have no Windows language code.
|
||||||
else:
|
mac = True
|
||||||
|
if mac:
|
||||||
macName = _makeMacName(name, nameID, lang, ttFont)
|
macName = _makeMacName(name, nameID, lang, ttFont)
|
||||||
if macName is not None:
|
if macName is not None:
|
||||||
self.names.append(macName)
|
self.names.append(macName)
|
||||||
|
@ -109,6 +109,21 @@
|
|||||||
</OS_2>
|
</OS_2>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
HelloTestFont
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
TotallyNormal
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
HelloTestFont-TotallyNormal
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x4" unicode="True">
|
||||||
|
HalloTestFont
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x4" unicode="True">
|
||||||
|
TotaalNormaal
|
||||||
|
</namerecord>
|
||||||
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
HelloTestFont
|
HelloTestFont
|
||||||
</namerecord>
|
</namerecord>
|
||||||
|
@ -201,6 +201,21 @@
|
|||||||
</glyf>
|
</glyf>
|
||||||
|
|
||||||
<name>
|
<name>
|
||||||
|
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
HelloTestFont
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
TotallyNormal
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="6" platformID="1" platEncID="0" langID="0x0" unicode="True">
|
||||||
|
HelloTestFont-TotallyNormal
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="1" platformID="1" platEncID="0" langID="0x4" unicode="True">
|
||||||
|
HalloTestFont
|
||||||
|
</namerecord>
|
||||||
|
<namerecord nameID="2" platformID="1" platEncID="0" langID="0x4" unicode="True">
|
||||||
|
TotaalNormaal
|
||||||
|
</namerecord>
|
||||||
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
<namerecord nameID="1" platformID="3" platEncID="1" langID="0x409">
|
||||||
HelloTestFont
|
HelloTestFont
|
||||||
</namerecord>
|
</namerecord>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user