最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

修改與自制字體:更好地顯示時間/比分

2019-12-12 21:25 作者:綿雲(yún)飴里  | 我要投稿

是否有人在看視頻、做視頻時遇到下圖上邊這樣的問題?

背景色塊顯示該字符占據(jù)的寬度

如果你感覺到奇怪,是否希望改成上圖下邊的形式?

那么概括下這幾個月來的發(fā)現(xiàn)。

截自我的trello,我?guī)讉€月前就想解決這問題了

數(shù)字

實際上數(shù)字和茴香豆差不多,有4種寫法(沒算上斜杠〇)

[CSS Fonts Module Level 3 # 6.7. Numerical formatting: the font-variant-numeric property](https://www.w3.org/TR/css-fonts-3/#font-variant-numeric-prop)(英文)

[OT字體功能 # 數(shù)字樣式 | 微軟文檔](https://docs.microsoft.com/zh-cn/dotnet/framework/wpf/advanced/opentype-font-features#numerical-styles)(微軟機(jī)翻)

茴字寫法,字體都是Libertine

數(shù)字有兩種樣式<numeric-figure-values>:李寧(lnum)和 舊式(onum)寫法肯定有差異,
有兩種間距<numeric-spacing-values>:比例(pnum)和 表格(tnum)寫法可能有差異,
2樣式和2間距可以乘出4種寫法;
還有一種特殊寫法:斜杠零(zero)

上文括號里的縮寫是OpenType(以下簡稱OT)的feature tags。一些優(yōu)良的OT字體會同時包含4\5種數(shù)字但默認(rèn)只顯示1種,需要手動在軟件OT特性開關(guān)里調(diào)用其他未映射的幾種。
[Feature tags - Typography | 微軟文檔](https://docs.microsoft.com/zh-cn/typography/opentype/spec/featuretags)(目前是英文)功能標(biāo)簽?特征類型?我不懂翻譯。

lnum/lining-nums/標(biāo)準(zhǔn)數(shù)字
阿拉伯?dāng)?shù)字本來高度一致的寫法。

onum/oldstyle-nums/舊式數(shù)字
把阿拉伯?dāng)?shù)字當(dāng)作高低參差的小寫拉丁字母來書寫??梢韵胂蠊ㄌ啬俏秲?。

左李寧右救世,字體都是Biolinum

pnum/proportional-nums/比例數(shù)字
每個數(shù)字占據(jù)寬度不同,就像手寫的間距。

tnum/tabular-nums/表格數(shù)字
每個數(shù)字占據(jù)寬度相等以便垂直對齊,方便財務(wù)比較。有時1字會加上腳部寫法撐胖。等寬字體必定表格數(shù)字不含比例數(shù),反之不然。

微軟提供的范圖,左比例右表格,字體都是Miramonte

zero/slashed-zero/斜杠零
零+斜杠以強(qiáng)調(diào)字母O不是數(shù)字0,通常用于財務(wù)和編程。編程字體默認(rèn)是表格數(shù)+斜杠零。

W3C提供的斜杠零范圖

顯然時間字體兩種樣式和斜杠零都無所謂,但間距只能選表格,否則用作計時整段數(shù)字就會抖來抖去。

冒號

可能看完上文的人會選擇等寬字體,但只是等寬還不行(有些等寬字體出于編程用途區(qū)分字符會故意做得不好看,何況冒號也沒必要與數(shù)字等寬)

冒號一般放置在基線上,與小寫對齊,所以就不能同時與數(shù)字(常與大寫差不多高)垂直居中對齊。時間、比分等需要整體垂直居中,由于沒有專門的居中冒號,過去排版者會特意手調(diào)。

雖然沒居中冒號,但有居中星號:[?]U+2217算術(shù)星號,與[*]默認(rèn)星號不同在于與數(shù)字對齊。

找到一個[∶]U+2236比號“RATIO”。相當(dāng)于居中冒號,就是左右間距可能太寬了,顯示比分倒沒問題。

這屬于排版技術(shù),所以可由字體解決。比較先進(jìn)的OT字體如蘋果表(Apple Watch)啟用的字體舊金山(SanFrancisco),可以就上下文判斷是否數(shù)字自動替換成居中冒號。我做個例圖演示下。

此為舊金山粗體,看上去仿佛冒號被拉上去了

這個具體用到的是OT高級排版功能:calt/Contextual Alternates/上下文語境替代

calt是由Adobe登記的feature tag。順帶一提OT字體格式由Microsoft和Adobe共同開發(fā)。

試著反編譯舊金山字體這段calt腳本,發(fā)現(xiàn)也很簡單:

group @0_9 [zero one two three four five six seven eight nine]
???注:窮舉一遍數(shù)字,組團(tuán)。

lookup SingleSubstitution?{
? sub colon -> colon.1;
……
? } 注:「colon.1」是個未映射的大寫對齊冒號。

lookup ChainingContext?{
? subtable "table1 {
? ? context (@0_9) colon (@0_9);
? ? sub 0 SingleSubstitution;
? } 注:只要上下文出現(xiàn)「@0_9 冒號 @0_9」這種組合就按SingleSubstitution替換冒號。

也就是任意字體加個「colon.1」和這個腳本就解決哩——

并不。雖然蘋果的系統(tǒng)肯定支持,但許多老軟件,尤其非專業(yè)排版軟件支持有限或不支持OT高級排版。沒辦法,只能固定成ttf字體,即直接用「colon.1」代替「colon」放棄與小寫對齊(舊式數(shù)字可以例外,因為我覺得相當(dāng)于英文小寫)

實際上我制作了些專門用于顯示時間的字體。沒有OT特性的。

下載

請至:magictea.cc/topic/1251/ 后續(xù)如有更新請見評論。

運用

安裝字體后做視頻(比如給音樂MV加個進(jìn)度條)直接調(diào)用就可以。

對一般人也有用。假設(shè)你有裝Stylus之類調(diào)整網(wǎng)頁外觀的用戶樣式管理器,可以加一條樣式將播放器的時間字體修改了,如:

@-moz-document domain("bilibili.com") {
span[name="time_textarea"]?{font-family:"【字體名】"}
}?/*b站*/

@-moz-document domain("xiami.com") {
.handle{font-family:"【字體名】"}
}?/*蝦米*/

等等。

如果上文有問題或遺漏請評論,b專欄編輯次數(shù)不夠用……

修改與自制字體:更好地顯示時間/比分的評論 (共 條)

分享到微博請遵守國家法律
禄丰县| 尼木县| 青阳县| 大港区| 青河县| 本溪| 枣庄市| 亳州市| 当涂县| 淮安市| 朝阳市| 丰县| 类乌齐县| 甘孜县| 荣成市| 邳州市| 吉木乃县| 白沙| 陆川县| 泰宁县| 鄯善县| 金沙县| 汝州市| 巴彦淖尔市| 滕州市| 怀化市| 宝坻区| 松原市| 甘南县| 宜章县| 马公市| 滨海县| 凌云县| 泸定县| 台北县| 定陶县| 三都| 登封市| 英山县| 华安县| 区。|