Android 自制图标字体呈现Â;移动浏览器上带有图标图示符的字符

Android 自制图标字体呈现Â;移动浏览器上带有图标图示符的字符,android,css,fonts,truetype,glyphicons,Android,Css,Fonts,Truetype,Glyphicons,我使用FontLab Studio 5创建了自己的字形图标作为真正的字体。我将九个向量路径放入Unicode插槽00A1到00A9,并作为TTF导出。我将字体嵌入我的SCS中,如下所示: @font-face { font-family: 'iconfont'; src: url('../../font/iconfont.ttf') format('truetype'); font-weight: normal; font-style: normal; } 更新

我使用FontLab Studio 5创建了自己的字形图标作为真正的字体。我将九个向量路径放入Unicode插槽00A1到00A9,并作为TTF导出。我将字体嵌入我的SCS中,如下所示:

@font-face {
    font-family: 'iconfont';
    src: url('../../font/iconfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
更新:我已经包括了一整套网页字体格式,以排除这一原因。以下是新的字体嵌入:

src: url('../../font/jer-icon.eot');
src: url('../../font/jer-icon.eot?#iefix') format('embedded-opentype'),
     url('../../font/jer-icon.woff2') format('woff2'),
     url('../../font/jer-icon.woff') format('woff'),
     url('../../font/jer-icon.ttf') format('truetype'),
     url('../../font/jer-icon.svg#jer_iconsregular') format('svg');
以下是放置图标的SCSS代码:

$icon-one:   "\a1";
/* ... */
$icon-nine:  "\a9";
.element {
    &.before {
        display: inline-block;
        font-family: 'iconfont';
        text-align: center;
        font-size: 90vw;
        width: 90vw;
        content: $icon-one;
    }
}
更新:我还应该包括定义字符集的元标记

<meta charset="UTF-8" />

在PC和Mac上的Chrome和Firefox上,它完全按照预期呈现字形。但是,在Android Chrome浏览器上,glyph使用前面的字符进行渲染。我在这里拍摄了两种行为的截图:


元标记中定义的字符集不正确

错:

<meta charset="UTF-8" />

正确:

<meta charset="UTF8" />

删除字符集属性中的破折号修复了该问题


多亏了Rad Lexus。

这听起来与您自己制作的字体无关,但更像是需要告知使用UTF8编码。如果一个网页的编码不清楚,这取决于你的浏览器。为什么你要假装真正的字母是图标?将这些图标放在PUA块中,并对它们使用连字规则,以便“笑脸”变成笑脸图标,等等?也就是说,不是ttf。每个现代浏览器都支持WOFF,而“非专门为web打包”格式则取决于您的受众。Rad Lexus,我正在通过一个元标记设置编码:-看看UTF8表示的
U+00A1
。它是
c2a1
,正是您看到的:
再次加上原始字符。提醒你,Android版的Chrome也可能有错误,所以试着测试一下。迈克,我更新了我的字体,加入了WOFF来排除这个错误。雷德雷克萨斯-看起来你走在正确的轨道上,但我不清楚我需要改变什么。我需要修改我的元字符集声明还是CSS字符声明?