我想知道多语言网站和客户端PC上安装的字体之间的关系。
假设我有一个多语言网站,其中包含以下语言的资源:英语(英国)、瑞典语(瑞典)和印地语(印度)等。
当客户从不同的地理区域打开此网站并且在他们的 PC 上没有某些字体(瑞典语、印地语)时。现在我想知道
- 网站文本是否会以所有语言显示?
- 对于多语言网站的可见性,操作系统、浏览器和字体之间是否存在任何关系?
- 在什么可能的情况下,可以看到带有扭曲文本的网站?
我想知道多语言网站和客户端PC上安装的字体之间的关系。
假设我有一个多语言网站,其中包含以下语言的资源:英语(英国)、瑞典语(瑞典)和印地语(印度)等。
当客户从不同的地理区域打开此网站并且在他们的 PC 上没有某些字体(瑞典语、印地语)时。现在我想知道
浏览器通过 HTTP 变量 HTTP_ACCEPT_LANGUAGE 告诉服务器它正在接受哪些语言,服务器通过该变量检索
Request.ServerVariables["HTTP_ACCEPT_LANGUAGE"]
服务器可以相应地调整其输出,或忽略该变量。
除此之外,您正在寻找的关系完全取决于浏览器的实现:
从收到的 HTTP/HTML 内容中提取语言设置 (*)
通常语言被映射到一个 Unicode 范围
从将 Unicode 范围映射到(首选)字体的浏览器/用户设置中查找字体
使用字体输出文本(通过 OS API)
(*) HTML 标记可能具有覆盖 HTML/HTTP 语言的 lang="language code" 属性
但是,操作系统可能会发现某些字符没有被所选字体覆盖,并且可能会选择备用字体(请参阅UniScribe 词汇表和 Sorting It All Out 博客here和here)
IMO 如果浏览器向服务器发送接受语言,则应该允许您假设浏览器知道如何正确显示内容。