Спасибо за ответ.
Я понимаю, что это почти ASCII art, но этот способ работает для всех шрифтов. Я потом эти надписи буду просматривать с экрана телефона, а ставить в андроид какие-то дополнительные шрифты ради китайских карточек не хочется.
Я написал скрипт, который делает вот такие таблицы:
Но есть проблема: таблицы не влезают по ширине в экран телефона и появляется горизонтальная прокрутка. Как это побороть не знаю.
--
Михаил Васильев
Михаил Васильев <gnu.xinm@gmail.com> wrote:
> Здравствуйте, господа!
Господа все в Харбине! :-)
> Помогите, пожалуйста, решить проблему. Хочу иметь возможность добавлять знаки тонов над китайскими иероглифами, чтобы потом вставлять в Anki.
>
> Нашёл конвертер, который делает почти то, что я хочу: https://www.purpleculture.net/chinese-pinyin-converter/ (надо выбрать tone mark only).
Там без несвободных программ как всегда ничего не работает, но суть понятна и так.
> Проблема: при копировании знаки тонов съезжают. Получается так:
>
> ˉˊˋ ˇˋ ˊ ˋ ˉˊˊ ˙
> 安德烈:请问,您是中国人吗?
Здесь две строчки: в первой самостоятельная («spacing») диакритика, во второй — иероглифы. Такого рода представление — это почти ascii-art, нужен строго моноширный шрифт.
> Пробовал выставлять моноширный шрифт, но он какого-то черта отличается по ширине от иероглифов (Noto mono и Noto Sans cjk).
А какого, собственно, черта два _разных_ шрифта, пусть и из одной гарнитуры, должны быть равноширными? Особенно если один из вообще не моноширный?
> Наверное можно написать скрипт, который съедал бы две строки и делал HTML-таблицу, в которой знаки жёстко располагались бы в ячейках друг над другом, но может есть какое-то более просто решение?
Есть более _правильное_ решение. Использовать совмещаемую (combining) диакритику. Но нужен шрифт, который бы так умел:
安̄德́烈̀:请̌问̀,您́是̀中̄国́人́吗̇?
Гугловский Noto (по крайней мере той версии, что «Бастере») — не умеет. Умеет, внезапно, GNU Unifont. Но он точечный:
Так что поперебирайте другие китайские шрифты — у вас их, наверное, побольше чем у меня будет.