我有一个Web应用程序,用户可以在其中更改WSIWYG类型的输入文本区域的字体系列.现在,假设用户在文本区域中输入了一些中文文本,但选择了不支持中文字符的Font.在我的应用程序中,我希望用户看到那些通常在字体不支持该字符时显示的讨厌的正方形(或类似的东西).这样,用户就会知道该字体不支持该语言并且可以选择不同的语言.我遇到的问题是浏览器(Firefox 17和Chrome 23)似乎使用支持这些中文字符的字体(如Arial)呈现文本的中文部分,使用户相信他正在尝试使用的字体工作良好.
有没有办法(我猜通过CSS)来防止这种情况?有没有办法让浏览器不仅仅是这次“好”?
先感谢您.
解决方法
您可以使用一些等效的font-family:userChoice,yourCatchAll来截取字体替换过程,其中yourCatchAll是一个字体,其中包含所有字符的通用字形.
问题在于找到这样的字体.由Unicode Consortium分发的LastResort字体将是理想的,因为它也可以从广义上直观地指示字符的类别,但其EULA似乎不允许修改.这是否适用于Web字体格式(如.eot和.woff)的构造是有争议的.
Unicode BMP Fallback Font似乎有更自由的使用规则,但它在一个框中只显示一个字符作为其Unicode编号(并且仅支持基本多语言平面,尽管它包含大多数人所听过的所有字符).