Почему больше / все правые и левые стрелки Unicode не совпадают (в частности, «черные» стрелки)? - PullRequest
16 голосов
/ 29 февраля 2012

Unicode имеет кучу стрелок, но у многих из них нет соответствующих правых и левых версий.В частности, «черные» стрелки, которые кажутся наиболее очевидными (для меня) для использования в задачах, связанных с навигацией, не имеют левую и правую версии, которые обычно «совпадают»: ➡ обычно не похож на ⬅.

Здесь четко определено право усмотрения шрифтов: для некоторых шрифтов они совпадают.Но даже страницы на FileFormat.info показывают символы как выглядящие по-разному: сравните стрелка вправо с стрелка влево .

Любая идея, что дает?Мне кажется довольно очевидным (для меня), что вы хотите совпадения (по сути, во всех четырех основных направлениях) для любой стрелки, включенной в Unicode.Для стрелок данного типа совпадают стрелки вверх и вниз .Есть даже совпадающие стрелки для «углов».

Примечание. Я отправил соответствующий комментарий по этому вопросу: не удается найти стрелку вправо в Юникоде

Ответы [ 3 ]

7 голосов
/ 29 февраля 2012

Обратите внимание, что файл 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)

Так что это говорит о том, что шрифты приветствуются, но не обязательны, чтобы они выглядели как другие черные стрелки.Вот как проверить все черные стрелки с помощью сценария uninames :

$ 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

Также обратите внимание, что эти кодовые точки не помечены как двунаправленные.Они не встречаются в файле 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

Если вы проверите свойства этих двух кодовых точек с помощью 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
7 голосов
/ 29 февраля 2012

Стрелка вправо, как и все другие дингбаты, была введена в Unicode 1.1.0.У него было достаточно времени, чтобы стать «настроенным» как «дингбат», чтобы он не совпадал с левой стрелкой, представленной в 4.0.0.Должны ли они соответствовать?Конечно.Но не все символьные шрифты охватывают как Дингбаты , так и Разные символы и стрелки.

1 голос
/ 26 октября 2014

У меня был тот же вопрос о том, почему эти две стрелки не совпадают. Кажется глупым В любом случае, есть лучший выбор подходящих стрелок в разделе дополнение-c , и весь список здесь все разделы

...