为什么Unicode的所有左右箭头都不匹配(尤其是“黑色”箭头)?

时间:2012-02-28 22:12:07

标签: unicode

Unicode有一堆箭头,但其中许多都没有匹配的左右版本。特别是,对于导航相关任务来说,似乎最明显(对我而言)的“黑色”箭头没有左右版本,通常“匹配:”➡通常看起来不像⬅。

字体有明显的自由裁量权,这里:对于某些字体,它们确实匹配。但即使是FileFormat.info上的页面也会显示不同的字符:将right arrowleft arrow进行比较。

知道是什么给出的吗?对我来说,对于Unicode中包含的任何箭头,你想要匹配(实际上在所有四个主要方向上)似乎是非常明显的。对于此特定类型的箭头,updown箭头匹配。 “角落”甚至还有匹配的箭头。

注意:我在此相关问题上发布了相关评论:can't find a unicode right arrow

3 个答案:

答案 0 :(得分:7)

在Unicode 1.1.0中引入了右箭头以及所有其他标志。它有足够的时间成为“定制”作为“dingbat”,足以与4.0.0中引入的左箭头不匹配。他们应该匹配吗?当然。但并非所有符号字体都包含Dingbats 杂项符号和箭头。

答案 1 :(得分:7)

请注意,Unicode NamesList文件包含以下注释:

 ➡  27A1        BLACK RIGHTWARDS ARROW
        * fonts may harmonize this glyph with the style for other black arrows
        x (leftwards black arrow - 2B05)
 ⬅  2B05        LEFTWARDS BLACK ARROW
        x (black rightwards arrow - 27A1)

因此,我们欢迎使用字体,但不要求使其看起来像其他黑色箭头。以下是检查所有黑色箭头using the uninames script

的方法
$ uninames BLACK WARDS ARROW
 ➡  27A1        BLACK RIGHTWARDS ARROW
        * fonts may harmonize this glyph with the style for other black arrows
        x (leftwards black arrow - 2B05)
 ➤  27A4        BLACK RIGHTWARDS ARROWHEAD
 ➥  27A5        HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
 ➦  27A6        HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
 ➧  27A7        SQUAT BLACK RIGHTWARDS ARROW
 ➨  27A8        HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
 ➵  27B5        BLACK-FEATHERED RIGHTWARDS ARROW
 ➸  27B8        HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
 ⤝  291D        LEFTWARDS ARROW TO BLACK DIAMOND
 ⤞  291E        RIGHTWARDS ARROW TO BLACK DIAMOND
 ⤟  291F        LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
 ⤠  2920        RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
 ⬅  2B05        LEFTWARDS BLACK ARROW
        x (black rightwards arrow - 27A1)
 ⬆  2B06        UPWARDS BLACK ARROW
 ⬇  2B07        DOWNWARDS BLACK ARROW

另请注意,这些代码点未标记为bidi-mirrored。它们不会出现在BidiMirroring文件中,该文件只包含以下内容:

$ grep ARROW BidiMirroring.txt
# 29A8; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
# 29A9; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
# 29AA; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
# 29AB; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
# 29AC; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
# 29AD; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
# 29AE; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
# 29AF; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
# 2A17; INTEGRAL WITH LEFTWARDS ARROW WITH HOOK

如果您检查这两个代码点的属性using the uniprops script,您会看到它们之间的差异:

$ uniprops -a 27A1 2B05
U+27A1 ‹➡› \N{BLACK RIGHTWARDS ARROW}
    \pS \p{So}
    All Any Assigned InDingbats Common Zyyy Dingbats So S Gr_Base Grapheme_Base Graph GrBase Other_Symbol Pat_Syn Pattern_Syntax PatSyn Print Symbol
       X_POSIX_Graph X_POSIX_Print
    Age=1.1 Bidi_Class=ON Bidi_Class=Other_Neutral BC=ON Block=Dingbats Canonical_Combining_Class=0 Canonical_Combining_Class=Not_Reordered CCC=NR
       Canonical_Combining_Class=NR Script=Common Decomposition_Type=None DT=None East_Asian_Width=Neutral Grapheme_Cluster_Break=Other GCB=XX
       Grapheme_Cluster_Break=XX Hangul_Syllable_Type=NA Hangul_Syllable_Type=Not_Applicable HST=NA Joining_Group=No_Joining_Group JG=NoJoiningGroup
       Joining_Type=Non_Joining JT=U Joining_Type=U Line_Break=AL Line_Break=Alphabetic LB=AL Numeric_Type=None NT=None Numeric_Value=NaN NV=NaN
       Present_In=1.1 IN=1.1 Present_In=2.0 IN=2.0 Present_In=2.1 IN=2.1 Present_In=3.0 IN=3.0 Present_In=3.1 IN=3.1 Present_In=3.2 IN=3.2 Present_In=4.0
       IN=4.0 Present_In=4.1 IN=4.1 Present_In=5.0 IN=5.0 Present_In=5.1 IN=5.1 Present_In=5.2 IN=5.2 Present_In=6.0 IN=6.0 SC=Zyyy Script=Zyyy
       Sentence_Break=Other SB=XX Sentence_Break=XX Word_Break=Other WB=XX Word_Break=XX
U+2B05 ‹⬅› \N{LEFTWARDS BLACK ARROW}
    \pS \p{So}
    All Any Assigned InMiscellaneousSymbolsAndArrows Common Zyyy So S Gr_Base Grapheme_Base Graph GrBase Miscellaneous_Symbols_And_Arrows Other_Symbol
       Pat_Syn Pattern_Syntax PatSyn Print Symbol X_POSIX_Graph X_POSIX_Print
    Age=4.0 Bidi_Class=ON Bidi_Class=Other_Neutral BC=ON Block=Miscellaneous_Symbols_And_Arrows Canonical_Combining_Class=0
       Canonical_Combining_Class=Not_Reordered CCC=NR Canonical_Combining_Class=NR Script=Common Decomposition_Type=None DT=None East_Asian_Width=Neutral
       Grapheme_Cluster_Break=Other GCB=XX Grapheme_Cluster_Break=XX Hangul_Syllable_Type=NA Hangul_Syllable_Type=Not_Applicable HST=NA
       Joining_Group=No_Joining_Group JG=NoJoiningGroup Joining_Type=Non_Joining JT=U Joining_Type=U Line_Break=AL Line_Break=Alphabetic LB=AL
       Numeric_Type=None NT=None Numeric_Value=NaN NV=NaN Present_In=4.0 IN=4.0 Present_In=4.1 IN=4.1 Present_In=5.0 IN=5.0 Present_In=5.1 IN=5.1
       Present_In=5.2 IN=5.2 Present_In=6.0 IN=6.0 SC=Zyyy Script=Zyyy Sentence_Break=Other SB=XX Sentence_Break=XX Word_Break=Other WB=XX Word_Break=XX

答案 2 :(得分:1)

我有同样的问题,为什么这两个箭头不匹配。看起来很傻。 Anywho,supplement-c section中有更好的匹配箭头选择,整个列表都在这里all sections