Комментарии 23
Всё хорошо, но не хватает какого-нибудь примера на любом языке программирования как определить характеристики того или иного символа шрифта и строки.
https://app.programmingfonts.org/
и выбирайте на здоровье
Читаемость и простота выравнивания. Это особенно важно в языках, где для уровней вложенности используются отступы, типа Python.
Для уровней вложенности используют пробелы которые стоят вначале строки, а у них ширина одинаковая. А вот если форматировать однотипные команды колонками то всё разъезжается. Да и выделять мышью узкие символы типа 111111111111 lower(L)=llllllllllllllllllllllllllllllllllllllllllllllllllllllll upper(i)=IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII становиться не очень удобно. Да и текст в зависимости от шрифта разъезжается вправо по разному.
Но у всех моноширинных шрифтов есть один недостаток. Это юникод. В результате они не очень то и моноширинные получаются.
0123456789
𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗
𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡
𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫
𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵
𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿
0123456789
Еще примеры
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
!"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
`abcdefghijklmnopqrstuvwxyz{|}~
𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉
𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣
𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹
𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓
𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡
𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻
𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭
𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇
𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕
𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯
𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍
𝑎𝑏𝑐𝑑𝑒𝑓𝑔ℎ𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧
𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙
𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳
𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁
𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛
𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩
𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃
𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛳𝛴𝛵𝛶𝛷𝛸𝛹𝛺𝛻
𝛼𝛽𝛾𝛿𝜀𝜁𝜂𝜃𝜄𝜅𝜆𝜇𝜈𝜉𝜊𝜋𝜌𝜍𝜎𝜏𝜐𝜑𝜒𝜓𝜔𝜕𝜖𝜗𝜘𝜙𝜚𝜛
𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜭𝜮𝜯𝜰𝜱𝜲𝜳𝜴𝜵
𝜶𝜷𝜸𝜹𝜺𝜻𝜼𝜽𝜾𝜿𝝀𝝁𝝂𝝃𝝄𝝅𝝆𝝇𝝈𝝉𝝊𝝋𝝌𝝍𝝎𝝏𝝐𝝑𝝒𝝓𝝔𝝕
𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚹𝚺𝚻𝚼𝚽𝚾𝚿𝛀𝛁
𝛂𝛃𝛄𝛅𝛆𝛇𝛈𝛉𝛊𝛋𝛌𝛍𝛎𝛏𝛐𝛑𝛒𝛓𝛔𝛕𝛖𝛗𝛘𝛙𝛚𝛛𝛜𝛝𝛞𝛟𝛠𝛡
𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝧𝝨𝝩𝝪𝝫𝝬𝝭𝝮𝝯
𝝰𝝱𝝲𝝳𝝴𝝵𝝶𝝷𝝸𝝹𝝺𝝻𝝼𝝽𝝾𝝿𝞀𝞁𝞂𝞃𝞄𝞅𝞆𝞇𝞈𝞉𝞊𝞋𝞌𝞍𝞎𝞏
𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞡𝞢𝞣𝞤𝞥𝞦𝞧𝞨𝞩
𝞪𝞫𝞬𝞭𝞮𝞯𝞰𝞱𝞲𝞳𝞴𝞵𝞶𝞷𝞸𝞹𝞺𝞻𝞼𝞽𝞾𝞿𝟀𝟁𝟂𝟃𝟄𝟅𝟆𝟇𝟈𝟉
𝒜ℬ𝒞𝒟ℰℱ𝒢ℌℑ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℜ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵
𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏
𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℋℐ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℛ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨ
𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷
𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅
𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟
𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ
𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫
⏻⏎⌨⌀
⬜⬛🟥🟦🟩
□█⣿
У вас разные шрифты – браузер их замещает, если какого-то символа нет в заданном шрифте. Поэтому и логично, они разные.
Большие и маленькие буквы тоже из разных шрифтов?
ABCDE |
abcde |
𝙰𝙱𝙲𝙳𝙴 |
𝚊𝚋𝚌𝚍𝚎 |
𝖠𝖡𝖢𝖣𝖤 |
𝖺𝖻𝖼𝖽𝖾 |
𝒜ℬ𝒞𝒟ℰ |
𝒶𝒷𝒸𝒹ℯ |
АБВГД |
абвгд |
ΑΒΓΔΕ |
αβγδε |
あいうえお |
アイウエオ |
🟠🟡🟢🟣🟤 |
🟧🟨🟩🟪🟫 |
▚█▓▒░ |
▨▩▤▥▧ |
◧◨◩◪◫ |
▼◀▲▶◉ |
❶❷❸❹❺ |
➀➁➂➃➄ |
В разных редакторах и терминалах оно разъезжается по разному.
Hidden text
Большие и маленькие буквы из пропорциональных шрифтов, поэтому и разной ширины. Ваш пример у меня рендируется вот какими шрифтами. Сами можете проверить какие из них пропорциональные и какие моноширинные:
DejaVuMathTeXGyre-Regular
DejaVu Sans
DejaVu Sans Mono
Liberation Mono
NimbusMonoPS-Regular
Noto Sans Mono Regular
Source Han Sans CN
Twemoji Mozilla
Пиши код! 😁
Если честно, с годами просто ставлю Consolas везде. Меньше выбора – больше энергии.
написали 4 абзаца про похожие буквы но не упомянули про l, 1, I
и O и 0
Большинство шрифтов по умолчанию уживаются с латиницей, но мы часто пишем комментарии на русском языке
Как человек разбиравшийся и в коде откомментированом по-немецки и в коде откомментированом по-японски, слёзно ваш прошу, пишите все комментарии только по-английски и только ascii-символами. Те кому достанется код после вас, скажут вам спасибо.
Лигатуры. В некоторых шрифтах соседние символы автоматически объединяются в один.
Может, в редакторах, а не в шрифтах?
Может, в редакторах, а не в шрифтах?
нет, все-таки в шрифтах. если в шрифте нет лигатур, редактор сам их не добавит.
(правда, если редактор не поддерживает подобные фишки, лигатур тоже не будет)
Не представляю, как код, который я пишу на работе, попадёт к человеку, который не читает по-русски.
Если я буду писать по-английски, то за мной начнут охотиться. Читать-то я более-менее могу, но вот писать…
Давайте попробую: "If I will write in English, it will cause to hount me. I can read somehow, but not write".
Вам при программирвоании хочется, чтобы побольше строчек кода влезало на экран.
Поэтому предпочтительнее более "низкий" шрифт (разумеется при одинаковых параметрах "разборчивости" и вообще "удобства").
С шириной таких проблем обычно нет.
Ровно обратные ощущения - хочется шрифт с пропорциями повыше и поуже, чтобы по ширине в поле зрения больше символов захватывать. Высота, конечно, тоже существенна, но она подстраивается выбором комфортного кегля, а ширина будет какая получится. Поэтому популярны специальные зауженные шрифты типа Iosevka и PragmataPro (последний, кстати, весьма недешевый).
Высота, конечно, тоже существенна, но она подстраивается выбором комфортного кегля,
Точно так же как и ширина - КМК это лишнее, не относящееся к теме обсуждения.
По существу важно только, что выбрать для примерно одинаково различимых шрифтов:
1. поуже \ повыше
2. пошире \ пониже
Я всегда выбираю второе, т.к. на практике очень раздражает (утомляет и замедляет работу), когда какая-то часть нужного кода не влезла на экран и приходится скролить.
По горизонтали (а это особенность современных 16:9 мониторов) весь код влезает, по вертикали часто нет.
Courier —наше всё.
Как выбрать шрифт для кодинга