Есть версия Arial или Tahoma шрифт моноширинным цифры и пробелы?

цифры в шрифте Ариал поставляются вместе с Windows, моноширинный, в том, что они занимают то же пространство, но они, кажется, пренебрегают, чтобы обеспечить "моноширинный" версия пробел. Это означает, что вы не можете отформатировать столбец цифр по правому краю в (скажем) 12 пробелах и выровнять правый край. Например:

         1
        12
       123
      1234
     12345
   1234567
  12345678
 123456789
1234567890 

работает, потому что шрифт, используемый для примеров кода, имеет такую же ширину, как и цифры. Это, однако, не работает если тот же текст отображается в Arial (я не могу продемонстрировать, потому что не могу понять, как победить переформатирование SU на данный момент!).

так получилось, что с Tahoma 8 point вы можете обмануть, потому что пробел-это ровно половина числа пикселей в цифре, но это грязно и очень конкретно.

30
задан rossmcm
17.02.2023 6:02 Количество просмотров материала 2791
Распечатать страницу

3 ответа

попробуйте использовать пробел, который должен быть такой же ширины, как цифра даже пропорциональным шрифтом:

пространство рисунка является типографской единицей, равной размеру одного типографская цифра (цифра или буква), минус ведущий. Свой размер может несколько колебаться в зависимости от того, какой шрифт используется. В шрифтах с моноширинными цифрами он равен ширине одной цифры.

6
отвечен user1458424 2023-02-18 13:50

да, если вы готовы заплатить за это, монотипия имеет varient arial для продажи это моноширинный.

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

2
отвечен Journeyman Geek 2023-02-18 16:07

я использовал пробел (как предложено user1458424) для выравнивания чисел и тонкий пробел отделить тысячи.

в, скажем, JavaScript или C, вы можете ввести соответствующие коды символов unicode в любом месте строки:

  • \u2007: рисунок пространства.
  • \u202F: тонкие пространства.

использование тонкого пространства в качестве разделителя тысяч имеет преимущества:

  • намерение понятно как американским, так и европейским читателям, в отличие от использования , или ..
  • вы можете добавить его независимо от того, является ли значение >= 1000, так как пространство невидимо для глаз.
  • он тоньше, чем обычный пробел, который отделяет знак валюты от значения, что делает его лучше, когда есть только один пробел после знака валюты.

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

  • € 1,75
  • € 100,00
  • € 199,97
  • € 10 350,00
  • € 21 003,18
  • € 121 018,33

    1. удалить из ввода все нецифровые символы:price.replace(/[^\d]+/g, '').
    2. подсчет недостающих символов: missingDigits = maxDigits - price.length.
    3. установите выходное значение в '€'.
    4. для каждой пропущенной цифры добавьте пробел для вывода:'\u2007'.
    5. добавить все входные цифры, кроме последних двух, затем десятичный разделитель, затем последние две цифры.
    6. возвращает все символы вывода, кроме последних шести, с добавлением пробела '\u202F', добавляется к последним шести символам.

вход может быть любое строковое представление числа, С или без знаки препинания и недопустимые символы. Выход будет, как показано выше. Вы должны выбрать максимальное количество цифр.

2
отвечен Timo 2023-02-18 18:24

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх