【发布时间】:2015-02-15 13:20:38
【问题描述】:
我在 unicode 名称中搜索“FOUR”和“FIVE”,但没有找到任何东西。谷歌搜索“unicode一元数字”时也没有。
有人知道这些的 unicode 符号吗?
【问题讨论】:
我在 unicode 名称中搜索“FOUR”和“FIVE”,但没有找到任何东西。谷歌搜索“unicode一元数字”时也没有。
有人知道这些的 unicode 符号吗?
【问题讨论】:
最接近的是“计数杆数字”,根据它们在中国的使用情况包含在 Unicode(自第 5 版起)中。不过,它们可能不符合您对一元数字的想法。特别是,它们具有水平笔划,用于 U+1D360 计数杆单位数字 1 到 U+1D368 计数杆单位数字 9 和垂直笔划用于 U+1D369 计数杆单位数字 1 到 U+1D371 计数杆单位数字九。
它们作为 U+1D360 到 U+1D37F 包含在 Counting Rod Numerals 块中,并在第 22 章 Symbols(标准第 757 页,PDF 文件第 22 页)中进行了口头描述。
Font support 非常有限。以下是字符:
??????????????????
很可能您没有正确看到它们,因为您的系统中没有字体包含它们。
这个问题更适合超级用户,因为这实际上与编程无关。关于编程方面,请注意这些字符在基本多语言平面之外,这意味着例如在 Java 和 JavaScript 中,每个字符都被视为两个“字符”(surrogate pair)。
【讨论】:
对于多笔合一的字符,您可以使用计数杆数字(U+1D360 到 U+1D371)和罗马数字(U+2160 到 U+2186)。
Unicode Surrogate Pair UTF-8 Description Sample
——————— —————————————— ————— ——————————— ——————
U+1D360 U+D834 U+DF60 F0 9D 8D A0 COUNTING ROD UNIT DIGIT ONE ?
U+1D361 U+D834 U+DF61 F0 9D 8D A1 COUNTING ROD UNIT DIGIT TWO ?
U+1D362 U+D834 U+DF62 F0 9D 8D A2 COUNTING ROD UNIT DIGIT THREE ?
....... ...... ...... .. .. .. .. ........ ... .... ..... ..... .
U+1D371 U+D834 U+DF71 F0 9D 8D B1 COUNTING ROD TENS DIGIT NINE ?
Unicode UTF-8 Description Sample
——————— ————— ——————————— ——————
U+2160 E2 85 A0 ROMAN NUMERAL ONE Ⅰ
U+2161 E2 85 A1 ROMAN NUMERAL TWO Ⅱ
U+2162 E2 85 A2 ROMAN NUMERAL THREE Ⅲ
...... .. .. .. ..... ....... ..... .
U+2186 E2 86 86 ROMAN NUMERAL FIFTY EARLY FORM ↆ
您可以使用组合标记在任何多笔字符之间放置斜线。它们应该适用于计数杆和罗马数字,但与所有花哨的 Unicode 一样,浏览器和操作系统支持可能会有所不同。
Unicode UTF-8 Description Sample
——————— ————— ——————————— ——————
U+0335 CC B5 COMBINING SHORT STROKE OVERLAY ̵
U+0336 CC B6 COMBINING LONG STROKE OVERLAY ̶
U+0337 CC B7 COMBINING SHORT SOLIDUS OVERLAY ̷
U+0338 CC B8 COMBINING LONG SOLIDUS OVERLAY ̸
U+20D2 E2 83 92 COMBINING LONG VERTICAL LINE OVERLAY ⃒
U+20D3 E2 83 93 COMBINING SHORT VERTICAL LINE OVERLAY ⃓
这里是带有各种组合笔划标记的计数棒。它们可能会或可能不会在您的浏览器中呈现。对我来说,只有 COMBINING LONG SOLIDUS OVERLAY 似乎效果很好,即使它们都显示(Firefox 47 Mac)。
? ? ? ? ?̵
? ? ? ? ?̶
? ? ? ? ?̷
? ? ? ? ?̸
? ? ? ? ?⃒
? ? ? ? ?⃓
? ? ? ? ?̷
? ? ? ? ?̸
不幸的是,组合标记并不总是一种选择,具体取决于应用程序。并且许多字体都缺少它们,尽管操作系统通常会尝试使用具有其他缺少 Unicode 字符的字体。 Arial Unicode MS、Courier、Courier New、Geneva、Helvetica、Helvetica Neue、Tahoma 和 Times New Roman 是查找此类原生包含的古怪字形的理想选择。
这是在纯 HTML 和 CSS 中获取刻度线的快速技巧。
<style>
x-1::before, x-2::before, x-3::before, x-4::before, x-5::before {
letter-spacing: 0.1pt; margin: 0.25em;
}
x-1::before { content: "|"; }
x-2::before { content: "||"; }
x-3::before { content: "|||"; }
x-4::before { content: "||||"; }
x-5::before { content: "|||||"; }
x-5::after { content: "╱"; margin-left: -1.5em; }
</style>
<x-1/><x-2/><x-3/><x-4/><x-5/>
https://jsfiddle.net/b7z1mLj4/
附带说明一下,根据定义,一元数只有一个数字,传统上是一条垂直线。如果您使用单个字符来表示数字 1 ?、2 ?、3 ?、4 ? 和 5 ?,那么您所拥有的是五进制(以 5 为底)数字系统。带斜线的四并不是真正的一元数字,而只是为了便于阅读。在写十进制数(如 1,000,000)时,它类似于空格或逗号。
也就是说,Unicode 确实 有逗号符号(和其他修饰符),所以你提出了一个很好的观点,为什么没有四个斜线字符。特别是因为他们有计数棒。
【讨论】:
Roman numerals 也提供 Unicode:
ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯ ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ ↀ ↁ ↂ Ↄ ↄ ↅ ↆ ↇ ↈ
【讨论】: