Проблема выравнивания, когда строка содержит не буквенно-цифровые символы, такие как китайский или японский - PullRequest
0 голосов
/ 05 мая 2018

Я работаю над небольшой программой, написанной на C #, где она будет запрашивать результат из базы данных и показывать его в формате текстового файла.

У меня проблема, когда результат содержит не буквенно-цифровые символы. Пожалуйста, посмотрите на образец ниже.

Johnny    $1000
Adam      $1000
测测        $1000  

Вы можете видеть, что линии Johnny и Adam отлично, но не символы 测测. Я видел эту тему

Формат строки C # для нескольких языков

И на самом деле можно выстроить его, используя Tab вместо Space, но как рассчитать необходимые вкладки, потому что алфавит и китайский / японский имеют разную ширину. И я должен сделать это внутри SQL, это означает, что я не могу использовать что-то вроде MeasureString.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 05 мая 2018

@ warheat1990: Боюсь, что @Jeroen прав в своем комментарии.
Если вы предполагаете использовать SQL, вы можете попытаться выбрать шрифт, который является предсказуемым (например, китайский символ в два раза больше ширины английского) и рассчитать ширину напрямую.
Таким образом, любой китайский / японский символ будет занимать в два раза больше места, чем английский символ будет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...