asp+sql server典型网站建设案例(源码)3,wordpress 接口,青州网站建设推广,中国建设银行甘肃省分行官网站字体名称是很重要的#xff0c;它决定了字体菜单中的分组和顺序#xff0c;而这直接影响你的字体将如何呈现给用户。在一款字体中#xff0c;字体名称被存储在六个不同的地方#xff0c;这一点已经相当困难#xff1b;或者实际上还会有更多的地方#xff0c;这就更复…字体名称是很重要的它决定了字体菜单中的分组和顺序而这直接影响你的字体将如何呈现给用户。在一款字体中字体名称被存储在六个不同的地方这一点已经相当困难或者实际上还会有更多的地方这就更复杂了。历史原因你懂的。哦还有不同应用程序会以不同的方式读取字体名称。祝你好运。译者注本文中需区分 “字体家族”typeface / font family和 “单款字体”font的概念中文中通常习惯将两者都称作 “字体”。简而言之“字体家族” 是一整套的设计其中包含若干款 “字体”即单独的字体文件。家族名称和样式名称基本上带有相同家族名称的字体会以某种方式在用户界面上被编成一组。至于具体是怎么做的当然了取决于使用字体的软件。你可以在 “文件 字体信息 字体 家族名称” 中设置字体的家族名称字体家族中的各款字体由它们的样式名称区分在 “文件 字体信息 字体子样” 当中设置。每个子样都有一个 “样式名称” 字段。典型的样式名称包括Regular、Italic、Bold、Medium、Light Italic、Display Bold、Caption Italic 等等。换句话说是这些关键词的某种组合字重Thin、Light、Extralight、Regular、Medium、Semibold、Bold、Extrabold、Heavy、Black 等等。字宽Compressed、Condensed、Extended、Expanded 等等。倾斜Italic、Oblique、Upright Italic直立意大利体、Backslant反向倾斜等等。视觉尺寸Optical SizeDisplay、Text、Caption、Small。当然你可以使用任意的样式名称。如果对你的设计而言有意义的话你也可以命名为诸如 “毡尖笔划”Felt Tip、“图案填充”Hatched、“轮廓” Outline或任何你喜欢的名称。对于现代软件而言带有发音符号的西文字母也不会造成什么问题。如果你想让某些子样具有不同的家族名称相对于在 “文件 字体信息 字体 家族名称” 中设置的默认家族名称你可以添加一条名为 “familyName” 的自定义参数。所以你会得到一个像这样的命名方案本地化名称不过为了兼容性的最大化有一点必须要说一下保持家族名称和样式名称由纯 ASCII 字符组成、是英文并且简短。如果你想突破这个限制并且使用非 ASCII 字符例如使用日文、亚美尼亚文或捷克文最好的办法是添加本地化名称。要本地化家族名称前往 “文件 字体信息 字体”通过点击 “自定义参数” 处的 “” 按钮添加一条自定义参数在 “属性” 下拉菜单中选择 “localizedFamilyName”然后点击 “值” 区域来选择语言并设定名称为你希望显示不同于默认家族名称的每种语言添加一条自定义参数。可选的语言有限因为这一技术文档是在很久很久以前、在另一个星系写成的。它支持冰岛语和南非语甚至还能区分弗拉芒语和荷兰语但是并不支持马来语、蒙古语或马其顿语。很抱歉但我们对此也无能为力。要本地化样式名称在 “文件 字体信息 字体子样” 中为相应的字体添加 “localizedStyleName” 自定义参数。你也可以在子样中对家族名称进行本地化。即自定义参数 “localizedFamilyName” 在 “文件 字体信息 字体子样 自定义参数” 中也可用。如果你想让某些子样有不同的家族名称并且也要本地化它们那么这将非常有用。与此同时你还可以 “本地化” 设计师姓名的条目。怎么做呢当然是使用 localizedDesigner 自定义参数。还有一个可以本地化的条目我们会在下文解释看看你能不能找到它。样式链接你可以使用所谓的 “样式链接” 设置字体家族中每一款字体之间的关系。你可以定义某个子样为另一个子样的粗体、斜体或粗斜体。这在 “文件 字体信息 字体子样” 中的 “样式链接” 区域很容易实现。在这里你只需要勾选 Bold 和/或 Italic 的复选框然后填入相关子样的名称比如通过样式链接你可以建立所谓的 “RIBBI 家族”。RIBBI 是 “Regular”、“Italic”、“Bold” 和 “Bold Italic” 的缩写。这看上去非常局限但其目的是在 Office 软件中启用 “粗体” 和 “斜体” 按钮。如果你正确地做了这一步你便可以在 “文本编辑” 中使用 Cmd-B 在常规体和粗体间切换或在 Windows 上的 Word 中使用 Ctrl-I 切换正体和斜体。顺便说Adobe Indesign 使用 Cmd-Shift-B 和 Cmd-Shift-I 实现同样功能。换句话说样式链接仅能在四种样式之间建立关系而无法处理更多样式。另外要注意的是链接的样式不会在 Microsoft Office 的字体菜单中显示仅有 Regular 可见链接的样式只能通过 B 和 I 按钮或相应的快捷键得到。因此我们建议使用以下方式来链接样式“Bold” 子样是 “Regular” 的 Bold。“Italic” 子样是 “Regular” 的 Italic。“Bold Italic” 子样是 “Regular” 的 Bold 和 Italic。这里注意并不是 Italic 的 Bold 或 Bold 的 Italic。所有其他的 “Italic” 都是相应直立子样的 Italic例如 “Semibold Italic” 是 “Semibold” 的 Italic。对于其他的直立子样将它们的设置留空。所以如果一切正确我们的字体家族设置看上去像这样专业提示不用在样式链接文本框中填写 “Regular”留空即可 Glyphs 将认定它是常规体。这样就减少了一个可能出错的地方。为 Windows 及 Office 软件命名Microsoft Word 目前专注于家族名称和样式名称或者 “WWSFamilyName” 和 “WWSSubfamilyName”如果有的话。WWS 代表字重Weight、字宽Width和倾斜Slope。最好了解在技术领域家族名称和样式名称通常用 ID 1 和 ID 2 代称。术语 “名称 ID” 指的是 “OpenType 名称表” 中的条目编译过的字体文件会以这种方式存储名称信息。要了解更多信息请参阅名称表的技术文档.最好了解WWS 名称以 “ID 21”WWSFamilyName和 “ID 22”WWSSubfamilyName存储。Microsoft 的字体菜单所采用的字体家族模型中所能够包含的成员仅有 Regular、Bold、Italic 和 Bold Italic即上文中 “样式链接” 所链接起来的 RIBBI 样式。其他所有不属于 RIBBI 的样式必须被算作另外的家族。因此Microsoft 官方建议的命名策略为诸如此类。换句话说样式名称ID 2仅能是 RIBBI 样式之一。其他关于字重、字宽和倾斜的信息都算在家族名称ID 1中。当然你也会发现这个表和你之前在前文中看到的那个很不一样。这里有一些问题不太容易处理。你需要添加相当数量的 “familyName” 参数更糟的是无法在 “文件 字体信息 字体子样” 中进行管理因为大部分的样式名称都是相同的。而且在 Word 中正确的部分在其他软件中可能并不理想比如桌面出版软件。不过等一下……好消息是你并不需要做这些。Glyphs 会在导出时自动料理这些事情。根据你的样式链接信息名称 ID 1 和 2 会相应地设置在命名表中的 Windows 名称中。没错名称表中的信息会被存储两次Mac 一次、Windows 一次。别问为什么。正因如此从现在起我不会用名称 ID 指代字体信息中输入的默认家族和样式名称因为这样会更加复杂。如果出于某种原因自动化不起作用就是说 Word 中的 B 和 I 按钮没有产生应有的样式你可以通过一个名为 styleMapFamilyName 的自定义参数来控制样式映射。以下内容摘录自 Glyphs 使用手册能够说明全部内容styleMapFamilyName用于 Bold、Italic 和 Bold Italic 样式的映射。你可以用该参数创建庞大字体家族中的子家族。最多四款字体可以共用同一个家族名称形成一个字体样式链接群组Bold、Italic、Bold Italic——如 OS/2.fsSelection 的位设置中所定义的一样。Glyphs 使用每个子样中 “样式名称” 字段的文本和 “样式链接” 部分的设置链接四个独立的字重。同样的你很可能不需要这些参数不过以防万一。更不常用的是 localizedStyleMapFamilyName 参数如名称所述是 styleMapFamilyName 的本地化变体。如果打个赌的话我猜在这款软件的光辉历史中这一参数被使用过不超过 5 次。但话说回来我并不想打赌。WWS 名称ID 21 和 ID 22WWS 名称又称名称 ID 21 和 22仅在以下情况中需要家族中具有除 WWS即字重 Weight、字宽 Width、倾斜 Slope外其他样式的字体且这些字体中在该非 WWS 轴上具有非常规的值即该样式不能仅通过字重、字宽、斜度来表达。假设我们想要通过变化视觉尺寸来扩展字体家族比如 “小标题”、“展示用”、“大标题” 等等。我们在前文的表格中看到的字体不需要 WWS 名称因为它们在我们的 “视觉尺寸” 轴上仍是常规的。但是如果我们加入了新的字体它们在 “视觉尺寸” 轴上占据了特别的、非常规的位置然后它们就需要 WWS 名称。这一系统的运作方式为你为非常规的名称创建独立的家族然后将这些名称放入 ID 21但是在 ID 22 中保留所有字重、字宽和倾斜信息。所以名称 ID 22 不仅用于 RIBBI 名称也用于其他落在字重、字宽或倾斜类别的一切内容例如 “Medium Extended Italic” 或 “Bold Condensed Oblique”。如何在 Glyphs 中完成这些工作呢很简单。在 “文件 字体信息 字体子样” 中为相关字体添加相应的自定义参数。对于 WWS 家族名称使用 WWSFamilyName对于 WWS 子家族名称使用 WWSSubfamilyName。猜到了吧。备注 1ID 21 和 22所包含的内容应该与 OS/2.fsSelection.bit8 的状态完全相关如果你知道它是什么意思的话。如果不知道它的含义也不用担心Glyphs 会自动处理这些。备注 2对于如 “MyFontFamily Compressed” 这样的情况样式名称可以通过 WWS 表达清楚这时便不需要名称 ID 21 或 22还记得吗不过实际上技术规范并不排斥将 ID 21 和 ID 22 也包含在内前提是设置了 fsSelection bit 8。因此如果你愿意并且有大量时间可以挥霍无论何处都添加它们也无妨。但说真的还是早点做完去吃个冰淇淋吧。如果你想自己控制 fsSelection bit 8在子样中添加 Has WWS Names 自定义参数根据 OpenType 技术规范该位元用于指示 “字体名称表中的字符串符合字重/字宽/斜度家族无需使用名称 ID 21 和22”。请记住这只有在你的字体名称符合 WWS 命名方案的情况下才有意义。为 Adobe 菜单命名Adobe 菜单中的字体根据其家族名称被分类编入子菜单中。这一设置可以被偏好名称名称 ID 16 和 17覆盖。所以如果你不喜欢子菜单的编排可以使用 PreferredFamilyName 设置自己的子菜单把单款字体名称编入 PreferredSubfamilyName。在子菜单中字体会被分类列出类别和顺序如下字宽类别字重类别斜度类别直立或斜体样式名称的首字母顺序。你可以在 “字宽” 菜单1中设置字宽类别、在 “字重” 菜单2中设置字重类别、“斜体” 复选框3设置倾斜以及当然了“样式名称”4设置字母顺序。此外如果你需要进一步区分字宽和字重类型因为几个选项会产生相同的数字显示在菜单右侧可以添加 widthClass and weightClass 参数直接设置用于排序的数字。提示旧版的 Microsoft Office 会自动将字重类型值低于 250 的字体加粗。这会导致字重值为 200 的 Extralight 比字重值为 300 的 Light 还要粗的奇怪状况。要想避免这一现象确保你的字重类型值最低不小于 250。当然了如果你的用户只使用较新版本的 Microsoft Office或完全不使用 Microsoft Office你便可以完全无视这一点设置为从 100 起。这意味着你可以随意设置为想要的结果如果你想让所有字体都位于同一个子菜单中只要确保所有字体中的 preferredFamilyName 都相同。不过如果你想让你的字体位于不同的子菜单中也可以用同样的参数加以区分。只要记住只有在它们和 “家族名称”、“样式名称” 中所输入的内容不同时才设置这些参数否则它们就没有必要。换句话说“偏好名称” 仅用于覆盖由家族名称和样式名称所产生的默认设置。自不必说如果它们的值都一样也就无所谓去 “覆盖” 了。例比如我们有一个字重轴和一个字宽轴。进一步假设你有 5 个字宽和 9 个字重即一共有 45 款字体。想象一下这样规模的子菜单哇喔。你有两个选择甲你想要将全部 45 款字体放在一个菜单中。这样你不需要修改以上的任何设置祝贺你可以去喝杯咖啡了。乙你想把这些字体按字宽不同放在五个不同的子菜单中。这样你把字体菜单的入口一分为五但至少每个子菜单里只需要包含 9 个项目了。这种情况下你需要为每个非标准字宽的子样使用 preferredFamilyName 参数例如 “MyFont Compressed”、“MyFont Condensed”、“MyFont Semiextended” 和 “MyFont Extended”。对于标准字宽使用标准的家族名称 “MyFont” 足矣因此它不需要定义“偏好家族名称”。Windows vs. Mac全名 vs. 兼容全名Windows 使用名称 ID 4“全名”用于显示一款字体的全名比如在菜单中。通常它们由“家族名称 空格 样式名称”组成这也是 Glyphs 自动计算 ID 4 名称的方法。你可以通过一个 Name Table Entry 参数来覆盖它见下文。到目前为止都还不错。Mac 也将名称 ID 4 用于此种用途除非字体里还有名称 ID 18“兼容全名”。换句话说不管出于什么原因如果你不能在 Mac 的菜单中使用 ID 4 的名称你可以通过在 “文件 字体信息 字体子样” 中为你的字样添加一个名为 compatibleFullName 的自定义参数来指定一个不同的名称。不用说只有在你有真正合理的理由时才这样做。使用 compatibleFullName 可能会破坏文档的跨平台互通性特此警告。兼容名称表前面讲过Glyphs 会自动将名称表中的条目安排在正确的位置使它们能够在 Adobe 应用程序、Microsoft Office 以及使用 CoreText 的 Mac 应用程序中运行得最好。这样大多数应用程序都可以被覆盖到了。不过你可能会偶尔遇到一个前来抱怨的顾客尤其是使用 Quark XPress 和旧版 FontExplorer 的用户。如果你收到了 “字体家族在这些应用程序中没有被正确分组” 的抱怨你可以使用一个名为 Compatible Name Table 的自定义参数。它可以让 Glyphs 导出一个旧版的名称表。然后字体家族就能在 Quark XPress 和 FontExplorer 中被正确分组了。不过这会打乱包括 Microsoft Office 在内的其他应用程序中的家族分组。恐怕这不能两全。PostScript 名称PostScript 名称是 PostScript Type 1 时代的遗存。某些应用程序以及某些主要是基于 PostScript 的文件格式会使用 PostScript 字体名称来存储文件中的字体信息。PostScript 全名仅用于读者。同样这两种名称都可以由 Glyphs 自动设置并且如果只让软件自己来施法的话你几乎不会遇到任何问题。因此你可以继续阅读本教程中的下一节了除非你真的有足够的理由来自己设置它。“PostScript 字体名称” 可以通过 “文件 字体信息 字体子样” 中名为 postscriptFontName 的自定义参数来设置。出于两个原因它会比较麻烦名称长度以及字符限制。技术上来说名称长度最长为 127 个字符这样对几乎所有字体来说应该都足够了。然而一些旧版软件比如 Adobe字体管理器Adobe Type ManagerATM只考虑其前半部分即 63 个字符。换句话说如果两款字体的 PostScript 字体名称的前 63 个字符一样的话老款软件中可能无法区分它们甚至发生故障。好消息如果你不在乎旧版软件可以无视这个限制但如果你需要关心旧版的兼容性它可能会变得更糟早期的 PostScript 解释器不能超过 29没错二十九个字符。呃啊。专业提示EOT Webfont 同样有着 29 个字符的限制。虽然 EOT 已经迅速成为一种过时的格式但在某些情况下可能还是必要的或者客户希望在所有可用格式上都保持安全。所以如果你要导出 EOT 格式可能也要设置 PostScript 字体名称并确保它不超过 29 个字符。至于字符限制你的 PostScript 字体名称仅能包含 7 位的 ASCII 字符除了控制字符、空格以及 [](){}/%因为这些字符是为 PostScript 语言预留的。连字符 - 用于连接家族名称和样式名称。换句话说你只能使用以下字符!#$*,-.0123456789:;?ABCDEFGHIJKLMNOPQRSTUVWXYZ^_abcdefghijklmnopqrstuvwxyz|~这意味着 “MyFont Condensed Extrabold Italic” 会变成 “MyFont-CondensedExtraboldItalic”有 31 个字符长。让我们进一步假设你的客户希望你可以支持一款 1988 年的图像排版系统它只能支持不超过 29 个字符。为了符合长度限制你可以把样式名称缩写成 “CdXBdIt”这样字体全名就变成了 “MyFont-CdXBdIt”仅有 14 个字符。现在你可以从博物馆中取出那些尘封的老机器并开始使用了。在Tech Note #5088中Adobe 建议使用以下缩写来代表样式名称万一你在好奇“Nord” 和 “Nord Italic” 是 1960 年 Roger Excoffon 著名的 Antique Olive 字体家族最初发布版本中的字重大字宽、粗字重。因为 Adobe 的字体库中有这款字体的数字版本Adobe 在整理过程中就把它列入名单了。据我所知这是它唯一一次出现。然后是 “PostScript 全名”可以通过自定义参数 postscriptFullName 设置同样在 “文件 字体信息 字体子样” 中。这里需要保证人类可读因为这将是字体需要展示给用户的全名因此也可以使用空格。按照 Adobe 的要求它需要 “适合在字体菜单中显示”。所以我们可以完全自由地使用我们所想的名称了对吗嗯并不完全是。根据 Adobe Tech Note #5088某些系统会将字体的家族名称与 PostScript 全名相匹配“以便将字体分类在不同的字体家族群组中”。因此PostScript 全名应该以家族名称开头。PostScript 全名 “通过添加样式属性来完成——通常是这样的顺序字重、字宽、倾斜、视觉尺寸”Adobe Technote #5088例如“Bold Extended Italic Display”、“Medium Condensed Oblique Caption”、“Semibold Oblique”、“Compressed Poster” 或 “Light”。再次提醒只有在你真的无法控制自己的内心冲动、如果不自己做一下就会发疯的情况下再来设置 postscriptFontName 和 postscriptFullName。否则忘掉它们交给 Glyphs 来设置 PostScript 名称因为无论如何这些东西是很容易算出来的。名称表条目如果你很清楚自己在做什么并且再也无所畏惧的话你还可以自己处理整个名称表。你可以为每个平台上每种编码方式的每种显示语言设置各自的条目只需前往 “文件 字体信息 字体子样”选择一个子样添加 Name Table Entry 自定义参数然后选用以下结构之一作为其 “值” 即可nameID; nameString例4; MyFont Bold ItalicWindows 英语全名本例中platformID 要被指定为 3Windows接下来是 encID 为 1UnicodelangID 为 0x0049Windows 英语。备注Glyphs 2.5 之前的版本会在名称表条目中的分号后加上空格。该 bug 已经被修复。如果你需要和旧版 Glyphs 保持兼容我们建议你删掉空格在分号后直接跟名称。nameID platformID; nameString例4 1; MyFont Bold ItalicMac 英语全名如果 platformID 被指定为 1Mac那么 encID 和 langID 需要被指定为 0MacRoman 编码和 Mac 英语。nameID platformID encID langID; nameString例4 3 1 0x040C; MaPolice Gras ObliqueWindows 法语全名如果 platformID 被指定为 1Mac那么 encID 可以是 0 到 32 的任意数字langID 为 0 到 150参见 Macintosh 平台特定的编码和语言 ID。如果 platformID 被指定为 3WindowsencID 可以是 0 到 10langID 必须是 0x8000 以下的十六进制数码参见 Windows 平台特定的编码和语言 ID。platformID 可以选择 1 代表 Macintosh、或 3 代表 Windows。可选的 encID 和 langID 受决定于 platformID分别代表 Windows 或 Macintosh 上的编码和语言 ID。它们必须是 0 到 65536 的数字可以以十进制、八进制或十六进制的形式输入。AFDKO 语法规范中规定“十进制数必须以非 0 数字开头八进制数必须以 0 数字开头十六进制数必须以 0x 开头且字母必须是 a-f 或 A-F”。在你我之间真正重要的平台只有 ID 1 Macintosh 以及 ID 3 Windows或者说只有 ID 3 Windows真的。至于其他平台 ID 0 Unicode、ID 2 ISO 以及 ID 4 自定义几乎完全没被使用。其中之一。ID 2 ISO 甚至被官方弃用了。还是那句话如果你要自己设置名称表一定要小心因为每个平台都有各自难以理解的编码和语言 ID 列表。哈哈我已经快要凌乱了哈哈哈。所以如果你真的想自己做这些你会发现自己经常浏览这个网页Microsoft OpenType 技术文档命名表它列出了你这字体极客内心所渴求的所有编码和语言 ID。下面是一个名称表条目的速查表其中除了标记星号的条目都可以通过 nameID 设置点击链接可以前往 Microsoft 技术文档页面对于这些条目中的大多数而言在 Glyphs 中通常有更好的方法来设置通常是某个文本输入字段或者专用的自定义参数。如果你已经设置了这些内容通常只需再设置 Windows 名称。换句话说使用短版参数 nameID; nameString 即可。再次强调只有在 Glyphs 自动生成的名称表由于某种方式无法满足你的要求并且你知道自己在做什么时才去做本节中的设置。如果只是为了自己做做看很可能会搞坏一些东西。by Rainer Erich ScheichelbauerChinese translation by Willie Liu (刘育黎) from 3type (三言).