Как показать обратную косую черту в японском языке - PullRequest
4 голосов
/ 02 февраля 2012

В моем приложении я использовал обратную косую черту как часть текстового индикатора активности (типичная последовательность / - \. Я удалил |, потому что он имел другую ширину). Все было хорошо, пока я не увидел, что мое приложение запущено на японском компьютере. Обратная косая черта была заменена японским символом.

Как мне этого избежать?

Ответы [ 6 ]

2 голосов
/ 02 февраля 2012

Вы можете использовать .oOo как последовательность.точка, маленькая o, заглавная O, маленькая o.

, которая должна работать на любом языке.

2 голосов
/ 02 февраля 2012

В вашем приложении delphi вы можете выбрать шрифт, который отображает эту кодовую точку Unicode как обратную косую черту. Однако большинство стандартных шрифтов, включая многие в Windows, намеренно будут показывать знак иены вместо обратной косой черты в японских локалях по той причине, что пользователи ожидают этого.

Если вы хотите быть действительно уверенным в том, что показано, используйте свой собственный шрифт, который не поставляется с Windows, и установите его вместе с приложением.

0 голосов
/ 15 марта 2014

Удерживайте Ctrl + `, и оно должно измениться.

0 голосов
/ 02 февраля 2012

Если шрифты Unicode на компьютере пользователя поддерживают его, вы также можете попробовать использовать символы одного из следующих блоков Unicode:

http://en.wikipedia.org/wiki/Arrow_%28symbol%29

http://en.wikipedia.org/wiki/Box_drawing_characters

http://en.wikipedia.org/wiki/Unicode_Geometric_Shapes

http://en.wikipedia.org/wiki/Miscellaneous_Technical_%28Unicode%29

http://en.wikipedia.org/wiki/Miscellaneous_Symbols

(только для VCL, для консольных приложений проблема заключается в наборе символов / кодовой странице оболочки)

Но это звучит многообещающе (за исключением части шрифта, которая может выйти из-под контроля):

Writeln в Delphi 2009 по-прежнему использует ANSI (см. System TTextRec), но вы можете использовать UTF8Encode и изменитькодовая страница вывода консоли в UTF8 путем вызова SetConsoleOutputCP (CP_UTF8).Вам также понадобится хороший шрифт для отображения символов Юникода.

https://stackoverflow.com/a/268202/80901)

0 голосов
/ 02 февраля 2012

За исключением перехода на Unicode с более новой версией Delphi, вам нужно будет найти набор символов с низким ASCII, которые могут выполнять подходящую анимацию.
Я бы предложил использовать последовательность цифр [0-9]или [1-3], чтобы остаться с вашей последовательностью из 3 символов.Это должно работать со всеми японскими наборами кодов.

0 голосов
/ 02 февраля 2012

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

Лучше всего, вероятно, использовать более причудливые символы, такие как ╱─╲ или что-то в этом роде, и надеяться, что у пользователя есть шрифт, который сможет это показать.

...