网页字体在电脑上显示正常,到了安卓手机上却整体变成系统默认字体,标题的粗细层次也消失了。遇到这种情况,不少人的第一反应是字体文件损坏或上传失败,于是反复重新上传。但文件本身往往并没有问题,真正的原因多出在字重映射和回退链路上:浏览器找不到它需要的那个字重,就会按自己的规则退到别的字重,甚至直接退到系统字体。
一、先核对字体文件内部的字重声明
打开字体信息,确认文件里包含哪些字重,常规、中等、加粗等权重是否齐全,以及这些字重是否共用同一个字体家族名称。常见的问题是家族名称写法不统一,比如一个文件写“Source Han Sans”,另一个写“SourceHanSans”,浏览器会把它们当成两个不同家族,声明时只认到其中一个,其余字重自然回退。另外要注意,有些字体文件虽然文件名标着Bold,内部字重值却仍是常规,这种名不副实的情况在免费字体中并不少见。
二、再核对样式中的font-weight与声明顺序
文件没问题,再看样式。检查font-weight的取值是否与文件实际提供的字重对应,比如文件只有400和700,样式里却写了500,浏览器就会在400和700之间自行选择。同时核对字体声明顺序,排在前面的字体若缺少对应字重,浏览器会先在同一家族内找相近字重,找不到才继续往后找,最后落到系统字体。声明顺序混乱时,这种回退会显得毫无规律。
三、最后核对安卓版本与浏览器的回退差异
不同安卓版本、不同浏览器对字重回退的处理并不一致。有的会向下取最近字重,有的会向上取,有的在缺字重时直接跳过整个家族。排查时可以先写一个只含系统字体的测试页,确认设备本身显示正常,再逐字重替换为自定义字体,观察哪一档开始失效。这样能快速定位是某一字重缺失,还是整个家族未被识别。
可执行的检查清单
按文件、样式、系统三层顺序排查:先确认字体文件字重齐全、家族名称统一;再确认样式取值与声明顺序无误;最后在不同安卓版本和浏览器上逐字重比对。三层都通过,问题基本可以排除。it数运在网站维护中会把字体交付资料写清楚,包括文件包含的字重、家族名称、授权来源和适用场景,方便后续排查时直接对照,而不是靠猜测。
一个可复用的判断标准是:字体在某一端整体回退,优先怀疑字重映射,而不是文件损坏;字体只缺个别字符,才更多指向字符集覆盖。无论哪种情况,字体授权与来源都应可追溯,避免使用来路不明的文件。具体情况以相关官方规定和专业人士意见为准。







