Существуют ли какие-либо непечатаемые / комбинируемые символы в Unicode для выражения семантически значимых вертикальных корректировок глифов относительно базовой линии?
Я пытаюсь выразить простую нотацию музыкального персонала вЮникод, для которого мне нужно иметь возможность выражать стопку глифов и вертикально корректировать позиции.В конце концов, ̶̅?̶̅ ̶̅ ̶̅
имеет значение, отличное от ̶̲?̶̲ ̶̲ ̶̲
.
Я хочу добиться такого эффекта, не полагаясь на очень узкий набор доступных комбинированных меток линий, чтобы я мог составлять набор глифов с помощьюразличные вертикальные смещения для достижения желаемого эффекта.Горизонтальное уже довольно просто.
Я хочу представить элементы вертикального разнесения и т. Д., И в конечном итоге внести соответствующие усовершенствования в возможности объединения механизма разметки текста Unicode, такого как Pango, чтобы я мог создавать примитивную нотацию персонала "в линию"хотя что-то столь же хорошее как:
... не будет практичным без помощи макета.
Unicode имеет множествоиз объединения символов, глифов нулевой ширины и глифов только пробела, которые позволяют создавать комбинированные символы.Символы могут быть изменены в виде диктических меток (от e
до è
с использованием e
+ ̀
т.е. U+0065 U+0340
), соединены и перегруппированы с помощью механизма компоновки (العربية - char-by-char 'ا ل ع ر ب ي ة
т.е. U+0627 U+0644 U+0639 U+0631 U+0628 U+064a U+0629
)и т. д. И в нем также есть объединение символов в музыкальной нотации для мостов (строки под примечаниями на изображении выше), повороты и т. д. (хотя они еще не поддерживаются большим количеством программного обеспечения).
Так чтокажется разумным ожидать, но я не могу найти какие-либо кодовые точки в стандарте, которые выражают то, что я хочу.Обратите внимание, что на данный момент меня не волнует, может ли что-либо их визуализировать, меня интересует только семантическое выражение текста.
Например, учитывая следующую простую последовательность
- (Текст):
?? ? ♭ ? ? ? ? ? ?
- (Python3):
??\u2000?\u2000♭\u2000?\u2000?\u2000?\u2001\ue8e0?\u2001\ue8e0?\u2001?\u2001\ue8e1\ue8e1\u2000
- (HTML)
<html><body>𝄞𝅘𝅥 𝅘𝅥 ♭ 𝅘𝅥𝅰 𝄿 𝅘𝅥𝅯 𝅘𝅥 𝅘𝅥 𝅘𝅥  </body></html>
- (описание):
[
'g-clef',
'quaver', 's1',
'quaver', 's1',
'flat', 's1',
'demisemiquaver', 's1',
'semiquaver rest', 's1',
'semiquaver', 's2',
'begin beam',
'quaver', 's2',
'begin beam',
'quaver', 's2',
'quaver', 's2',
'end beam',
'end beam',
's1'
]
Итак:
Если у меня есть, скажем, ²
(U+00B2
), есть ли серия комбинированных персонажей, которая позволит мне выразить это?Во многом таким же образом я могу написать ç
(U+00E7
) как ç
(U+0063 U+0327
) Я хочу написать ²
как U+????????
U+0032
.
Любой способ управлениявысота и размер?
Так же, как =͟͟͞͞s
можно написать с помощью горизонтальных объединяющих глифов как = ͟ ͟ ͞ ͞ s
U+003d U+035f U+035f U+035e U+035e U+0073
.
Я знаю, что многие рендеры, такие как Pango, нев настоящее время визуализируют даже простые вещи, такие как мосты, но часть идеи заключается в том, чтобы создать разумный набор для улучшения визуализации.
Unicode фокусируется на семантике.Но положение и объединение являются семантически важными, поскольку показано, что в стандарт включено включение надстрочных глифов и т. Д.
Некоторые ссылки: