适用于: Windows Phone 8 | Windows Phone OS 7.1

Windows Phone 8 支持世界书写体系中大多数的字体。尽管手机客户端 UI 已本地化为 50 种主要语言,应用可以显示更多的语言选择。Windows Phone 8 和 Windows Phone OS 7.1 均可支持每种语言的一种(通常一种以上)的字体系列。

本主题包含以下各节。

  • Windows Phone 字体
  • 初始化应用的运行时语言配置
  • 提供您自己的字体
  • 字体编码
  • UI 字体在 Windows Phone 上不受支持
  • 文本显示字体在 Windows Phone 上不受支持
  • 额外的字体在 Windows Phone 上不受支持
  • Windows Phone 上受支持的数学和符号字体
  • 字体表键
  • 相关主题
Windows Phone 字体


对于 Windows Phone 8,所有手机版本均可显示所有字体。然而,对于 Windows Phone OS 7.1,尽管对每种受支持的语言提供了至少一种字体,但某些额外的语言特定的字体仅在使用这些语言的市场中提供。

自定义嵌入字体

应用还会嵌入字体,以提供未包括在手机中的字样。

文本输入

用于已预安装键盘和输入方法 UI 的手机的语言选择,取决于手机将在哪个市场中出售。任何时候用户都可以下载和使用 50 种受支持的手机客户端 UI 语言中任意语言的键盘。用于确定写入 TextBox 控件的字符的键盘语言,无法以编程的方式提供给应用。

xaml:lang 在字体上的影响

Windows Phone 显示应用指定的 FontFamily 中的文本。如果字符不受 FontFamily 支持,或者应用未指定 FontFamily,Windows Phone 将基于字符和用于显示文本的框架元素的 xml:lang 选择一种字体。

在 Windows Phone 上,xml:lang 驱动备用字体选择、复杂字符造型和数据绑定中的类型转换。此外,第三方控件的行为通常以 xml:lang 为基础,例如日期选择器。

显示文本的框架元素的 xml:lang 特性可以通过应用代码进行更改。通常使用控件的 Language 特性设置或检索该特性。如果应用不指定 XAML 标记中或代码隐藏中元素的 Language,它将从其父元素继承值。如果未指定应用的根元素的 Language,它将是“en-US”。如果您添加支持的语言以本地化应用,请注意“新建项目”模板包含从加载的本地化资源文件选取应用语言的代码,并在默认情况下将其指定到 RootFrame.Language。

Unicode 码位和语言

由于固有的 Unicode 功能,在某些情况下只是简单地指定正确的 Unicode 值可能不会呈现预期的字体。对于东亚语言和使用复杂脚本编写的语言,指定正确的元素的 Language 值来显示字体非常重要。这些包括由代码“zh-CN”、“zh-TW”、“ja-JP”和“ko-KR”描写的区域设置以及使用阿拉伯语、西里尔语和德温那格利脚本编写的语言的区域设置。

有关受支持的显示语言的完整列表,请参见 Windows Phone 的区域性和语言支持。

初始化应用的运行时语言配置


如概述中所述,新项目的默认行为是指,正在运行的应用的 Language 属性将使用来自应用启动时加载的资源文件(ResourceLanguage 和 ResourceFlowDirection)中的参数进行初始化。此行为将施加一种模式,即字体和文本流方向对齐在运行时显示的资源的语言。

将额外的语言(支持的区域性)添加到应用时,Visual Studio 将为每种语言生成新的 .resx 文件。它将支持的区域性的区域 ID 代码 (LCID) 插入到文件名。Visual Studio 还会初始化语言参数的字符串表值,以匹配资源文件的区域设置的语言以及其脚本的传统流方向。

App.xaml.cs 文件中的 InitializeLanguage() 函数基于 AppResoures.ResourceLanguage 资源的值设置应用的 RootFrame.Language 并基于 AppResources.ResourceFlowDirection 资源的值设置其RootFrame.lowDirection。

如果此处描述的 Language 对齐的默认模式不适用于您的应用设计,您可以采用多种方法重写任何区域设置的默认语言和流方向。下面列出了一些方法。如果您决定中断默认的行为,请记住当任意控件显示东亚语言和复杂的脚本语言时,您需要在控件中显式地设置 Language 值。

  • 如果您想要从头开始,您可以在 App.xaml.cs 中注释掉应用的 InitializeLanguage 方法。

  • 如果您想要全局性地施加特定的语言,而不管用户为他们的手机显示语言选择了何种区域设置,您可以在应用的每个 .resx 文件中修改 RootLanguage 字符串。

  • 如果您希望 FlowDirection 全部朝一个方向流动,而不管应用运行时语言的传统方向,您可以在应用的 .resx 文件中修改 ResourceFlowDirection 字符串。

  • 如果您想要特定的元素(或元素的集合)使用特定的语言,请将应用的默认InitializeLanguage 模式保留在原位,并且通过在 XAML 层次结构中的任意点声明任意元素的语言来重写继承。

如果您计划从应用中的服务器显示本地化数据,请谨记语言对齐。如果显示的内容的语言与正在运行的应用的 CurrentUICulture 中指定的语言不同,您可能会遇到此处描述的语言问题。通过了解要显示的数据的语言(通过应用逻辑或服务器元数据)并且显式地设置要匹配的显示元素的语言特性,您可以保留应用的语言对齐方式。

语言对齐也是用户输入要考虑的问题。尽管将元素的 Language 特性设置为内容的显示语言是非常理想的做法,但是请记住当前使用的键盘语言在应用模型中不可用。

提供您自己的字体


如果 Windows Phone 不支持您需要在应用中使用的字体,您可以将该字体嵌入到您的应用中。

警告:

在“Windows Phone 中受支持的 UI 字体”列表中列出的东亚语言字体对应用是不可再发行的。

字体编码


Windows Phone 使用 Unicode 表示字符。我们建议您开发包含 Unicode 编码的应用以确保您的应用可以在全球环境中运行。您可以使用 Encoding 类将编码从一种 Unicode 类型转换为另一种 Unicode 类型,例如,从 UTF-8 转换为 UTF-16。

不包含编码的字符

不包含编码信息的非 Unicode 字符将根据手机上的“系统区域设置”设置显示。“系统区域设置”设置由用户设置,表示手机上的默认字符集和字体。

日元和韩元字符 - ¥和 ₩

“Reverse Solidus”Unicode 字符 (U+005C) 在日语显示语言中显示为“日元”字符,在朝鲜语显示语言中显示为“韩元”字符。但是,因为在其他显示语言中该字符将以反斜杠显示,所以请使用“Yen Sign”Unicode 字符 (U+00A5) 和“Won Sign”Unicode 字符 (U+20A9) 代替此字符以确保它们始终正确显示。

WebBrowser 控件

在使用 WebBrowser 控件显示内容或设计要在 Windows Phone 上显示的网站时,请确保在您的 HTML 中包含正确的编码元数据信息。

在以下代码示例中,因为没有将字符串进行正确编码,所以在名为 BrowserControl 的 WebBrowser实例中许多字符没有正确显示。

C#
string testString = "<html><body>日本列島の占領の最初の兆候が縄文時代で約14,000のBC。</body></html>";BrowserControl.NavigateToString(testString);

而是包含 HTML 内容中的编码信息,如以下代码示例所示。

C#
string testString = "<html><head><meta content=”text/html; charset=utf-16”/></head><body>日本列島の占領の最初の兆候が縄文時代で約14,000のBC。</body></html>";BrowserControl.NavigateToString(testString);

UI 字体在 Windows Phone 上不受支持


下表列出了 Windows Phone 设备上所有受支持的 UI 字体。每种字体对特定设备是否可用取决于该设备上包含哪些显示语言。

拉丁语、西里尔文和基于希腊语的语言

所有拉丁语、西里尔文、希腊语和基于希伯来语的语言的显示语言使用 UI 字体 Segoe WP。所有手机上都包含此字体,所以即使将不同的语言(如日语)设置为显示语言,任何拉丁语、西里尔文、希腊语和基于希伯来语的文本仍以 Segoe WP UI 字体显示。

Windows Phone 8 UI 字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Segoe WP

拉丁语、西里尔文、希腊语和基于希伯来语的语言

DengXian

中文(简体)

Microsoft Mhei

中文(繁体)

Yu Gothic

日语

Microsoft NeoGothic

朝鲜语

Segoe UI

拉丁语、西里尔文、希腊语和基于希伯来语的语言

Nirmala UI

印度语

Leelawadee

泰语

Segoe UI 符号

支持各种 Unicode 符号,包括添加 Unicode 6.0 中的表情符号。

Windows Phone OS 7.1 UI 字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Segoe WP

拉丁语、西里尔文、希腊语和基于希伯来语的语言

Segoe WP SemiLight

拉丁语、西里尔文、希腊语和基于希伯来语的语言

Segoe WP SemiBold

拉丁语、西里尔文、希腊语和基于希伯来语的语言

DengXian

中文(简体)

Microsoft Mhei

中文(繁体)

Yu Gothic

日语

Microsoft NeoGothic

朝鲜语

Segoe UI

拉丁语、西里尔文、希腊语和基于希伯来语的语言

宋体

中文(简体)

警告:
此字体仅包含在提供简体中文显示语言的 Windows Phone OS 7.1 设备上。

Segoe UI 符号

支持各种 Unicode 符号,包括添加 Unicode 6.0 中的表情符号。

注意:

针对日语本地化您的 Windows Phone 应用时,请使用 Yu Gothic UI 字体。

文本显示字体在 Windows Phone 上不受支持


下表列出了在 Windows Phone 上所有受支持的文本显示字体。

Windows Phone 8 文本显示字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

非洲语

Nko、Ethiopic、Tifinagh、Vai 和 Osmanya

Estrangelo Edessa

叙利亚语

美属土著语

切罗基语和

Khmer UI

高棉文

Lao UI

老挝语

Microsoft Himalaya

藏语

Microsoft New Tai Lue

新傣文

Microsoft Tai Le

德宏傣文

Microsoft Uighur

维吾尔语

Microsoft Yi Baiti

Yi

Mongolian Baiti

蒙古语

MV Boli

塔纳文

PhagsPa

Phags-pa

宋体

中文(简体)

Urdu Typesetting

阿拉伯语

Windows Phone OS 7.1 文本显示字体

注意:

下面的 Windows Phone OS 7.1 文本显示在 Windows Phone 8 中不可用的字体。

字体名称

语言

常规

粗体

斜体

倾斜加粗

Microsoft YaHei

繁体中文、简体中文

Meiryo UI

日语

Malgun Gothic

朝鲜语

额外的字体在 Windows Phone 上不受支持


下表列出了 Windows Phone 上所有受支持的额外字体。

Windows Phone 8 额外字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Arial

拉丁语、西里尔文和基于希腊语的语言

Calibri

拉丁语、西里尔文和基于希腊语的语言

Comic Sans MS

拉丁语、西里尔文和基于希腊语的语言

Courier New

拉丁语、西里尔文和基于希腊语的语言

格鲁吉亚

拉丁语、西里尔文和基于希腊语的语言

Lucida Sans Unicode

拉丁语、西里尔文和基于希腊语的语言

宋体

拉丁语、西里尔文和基于希腊语的语言

Times New Roman

拉丁语、西里尔文和基于希腊语的语言

Trebuchet MS

拉丁语、西里尔文和基于希腊语的语言

宋体

拉丁语、西里尔文和基于希腊语的语言

Windows Phone OS 7.1 额外字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Arial

拉丁语、西里尔文和基于希腊语的语言

Calibri

拉丁语、西里尔文和基于希腊语的语言

Comic Sans MS

拉丁语、西里尔文和基于希腊语的语言

Courier New

拉丁语、西里尔文和基于希腊语的语言

格鲁吉亚

拉丁语、西里尔文和基于希腊语的语言

Lucida Sans Unicode

拉丁语、西里尔文和基于希腊语的语言

宋体

拉丁语、西里尔文和基于希腊语的语言

Times New Roman

拉丁语、西里尔文和基于希腊语的语言

Trebuchet MS

拉丁语、西里尔文和基于希腊语的语言

宋体

拉丁语、西里尔文和基于希腊语的语言

Windows Phone 上受支持的数学和符号字体


下表列出了在 Windows Phone 上所有受支持的数学和符号字体。

Windows Phone 8 数学和符号字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Cambria / Cambria Math

拉丁语、西里尔文和基于希腊语的语言

Wingdings

符号

Webdings

符号

Windows Phone OS 7.1 符号字体

字体名称

语言

常规

粗体

斜体

倾斜加粗

Wingdings

符号

Webdings

符号

字体表键


上面表格中使用的符号的解释如下:

符号

说明

是否支持

通过算法加粗或斜体来实现

不受支持

Windows Phone 的字体和语言配置支持相关推荐

  1. Windows Phone 8本地化多语言支持

    原文:Windows Phone 8本地化多语言支持 在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是 ...

  2. R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体、轴标签斜体、文本内容斜体、或者部分内容斜体

    R语言配置可视化内容中的字体为斜体(italic)实战:标题斜体.轴标签斜体.文本内容斜体.或者部分内容斜体 目录

  3. win10用易语言需要C环境,win10系统易语言打开支持库配置就崩溃的具体教程

    有关win10系统易语言打开支持库配置就崩溃的操作方法想必大家有所耳闻.但是能够对win10系统易语言打开支持库配置就崩溃进行实际操作的人却不多.其实解决win10系统易语言打开支持库配置就崩溃的问题 ...

  4. 易语言传文本到c 崩溃,win7系统易语言打开支持库配置就崩溃的解决方法

    今天和大家分享一下win7系统易语言打开支持库配置就崩溃问题的解决方法,在使用win7系统的过程中经常不知道如何去解决win7系统易语言打开支持库配置就崩溃的问题,有什么好的办法去解决win7系统易语 ...

  5. 易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办?

    易语言支持库配置闪退打不开怎么办? 易语言支持库配置闪退解决方法丨支持库配置崩溃_易语言打开支持 易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办? 很多人都遇到过 打开易语言支 ...

  6. apache arrow mysql_新手搭建PHP环境必备知识:windows下PHP5+APACHE+MYSQ完整配置(个人总结)...

    经过一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资 ...

  7. 小雉配置--支持向上向下兼容的 配置文件 兼容性 设计

    概述 软件的开发离不开配置,传统的软件设计包括前端.后台和数据库3部分,三者是密切配合的统一整体,在实际项目中往往遇到以下问题: 因项目需求不明而增加.修改.删除参数导致配置结构调整后难以同已有数据兼 ...

  8. 浏览器扩展开发 - i18n 国际化多语言配置

    原文地址:https://waynegong.cn/posts/954.html Chrome 浏览器扩展进行 i18n 国际化多语言适配需要进行三处修改: 在特定目录按照特定格式编写多语言配置的 m ...

  9. 易语言java支持库用法,Java支持库2.0#0版

    资源介绍: 易语言Javalib.fne支持库中文名为易语言Java支持库,本易语言支持库使易语言具备了访问Java类库的能力."Java虚拟机"和"Java本地接口&q ...

  10. Windows系统中搭建Go语言开发环境详解

    目录 1.Go语言简介 2.安装Git 3.Go 工具链(编译器)安装 3.1.环境变量GOROOT 3.2.环境变量GOPATH 3.3.Go常用命令 4.包管理 4.1.go module 4.2 ...

最新文章

  1. HTML的标签描述17
  2. 关于数据库性能优化小经验
  3. 利用FFT计算非平稳随机信号WVD分布
  4. 产品经理第一课上海站圆满结束,下一站你定!
  5. 远程连接本地mongodb 数据库
  6. sql随机抽取数据50条_厉害!苏宁通过citus打造分布式数据库抗住DB高负载
  7. 哈夫曼算法(huffman algorithm C)
  8. 查询本地内存的栈大小_Js的内存问题
  9. 三星死守中国市场,强撑溢价难挽回颓势吗?
  10. javamail发送邮件,解决被垃圾邮件问题
  11. 每日算法系列【LeetCode 115】不同的子序列
  12. popen和pclose
  13. Oracle VM VirtualBox虚拟机新建教程(包括镜像文件的下载和安装)
  14. 图片放大以后不清晰怎么办?
  15. 代理模式---论坛权限控制代理
  16. linux系统怎么禁用键盘,Linux之禁用笔记本键盘
  17. postfix邮件服务器迁移,记一次搭建Postfix邮件服务器(上篇)
  18. Ubuntu下安装NS3
  19. jsp处理的生命周期
  20. 定时开关机(二):AlarmManager的使用及对定时不准问题的修改

热门文章

  1. 1-2月热点:度目发布煤矿电子封条解决方案,AI助力生产安全,推进煤矿智能化建设
  2. 【离散数学】集合论 第三章 集合与关系(2) 集合的基本运算
  3. win7下linux 双系统安装教程,【系统安装】双系统——Win7下安装linux系统详细步骤...
  4. java 反解析cron_Cron表达式解析
  5. 计算机网络与多媒体专科测试,上海第二工业大学2021年专科层次依法自主招生生考试职业技能测试考纲...
  6. 怎样把xp计算机语言改为英文,ghost xp如何将语言设置为英文
  7. JavaScript高级程序设计(第3版)中文在线阅读,也可以免费下载~
  8. 怎么用c语言让电脑定时开关机,电脑定时开关机如何设置?小编教你设置电脑定时开机和关机...
  9. 《数据结构》C语言版 (清华严蔚敏考研版) 全书知识梳理
  10. 利用VB.Net 通过Windows Sockets (Winsock)以及多线程编程进行桌面电脑与Pocket PC间的双向通信