Обсуждение шаблона:Lang
Стиль для Шаблон:Lang
править@Lozman возможно ли добавить в Шаблон:Lang параметр style или size/размер, как у ряда др. шаблонов? В РСКД размер греч.шрифтов в скане меньше обычного шрифта. Сейчас уменьшаю с помощью шаблона-обёртки {{РСКД-греч.}}, но кажется это монструозное название и лишняя сущность. --Vladis13 (обсуждение) 02:17, 5 ноября 2017 (UTC)
- Это можно сделать средствами CSS (CSS-класс для древнегреческого называется lang-grc), тогда в статьях вообще ничего менять не придётся. -- Sergey kudryavtsev (обсуждение) 07:36, 5 ноября 2017 (UTC)
- А как это сделать? Пробовал, но wiki-движок не принимает тэг «style» для переназначения стиля: <style>.lang-grc {font-size: 200%;}</style>. — Вот, он открытым текстом показывается, в код не идёт. --Vladis13 (обсуждение) 22:16, 6 ноября 2017 (UTC)
- Я имел ввиду: внести изменения в MediaWiki:Common.css (т.е. для всех статей разом). А тег «style» в вики-разметке вроде бы из-за безопасности запрещают использовать. -- Sergey kudryavtsev (обсуждение) 15:39, 21 ноября 2017 (UTC)
- А как это сделать? Пробовал, но wiki-движок не принимает тэг «style» для переназначения стиля: <style>.lang-grc {font-size: 200%;}</style>. — Вот, он открытым текстом показывается, в код не идёт. --Vladis13 (обсуждение) 22:16, 6 ноября 2017 (UTC)
- @Vladis13 Перетащите из en.wikisource шаблон Greek, он как раз и предназначен для таких шрифтов (ср. en:1911 Encyclopædia Britannica/Autopsy, en:1911 Encyclopædia Britannica/Autolycus of Pitane, en:1911 Encyclopædia Britannica/Automorphism и т.д.). А шаблоны {{РСКД-греч.}}, {{El1}}, {{El2}} можно снести/заменить шаблоном Greek — лучше один универсальный шаблон вместо кучи. Глобальные вещи вроде Lang или lang-grc трогать, на мой взгляд, нежелательно. PS. РСКД/Анталкидов мир — это что? Ratte (обсуждение) 11:43, 5 ноября 2017 (UTC)
- Тут ряд непоняток. en:Template:Greek — для монотонической орфографии, т. е. без диакритики (при этом в его справке почему-то все примеры с диакритикой, отличается только стилем шрифта). Для РСКД, и вообще древнегреческого, нужна диакритика, для неё в англовике шаблон en:Template:Polytonic, который подставляет шрифты из списка en:Template:Polytonic fonts (в руВТ аналог {{polytonic fonts}}). Никакой разницы между этими шаблонами не вижу, как и смысла в них.
- Вот эти шрифты. Зачеркнул те которых нет у меня на Windows 10 в стандартной поставке (точнее у меня названия unicode-шрифтов дополнены словом «обычный», надеюсь они и есть):
'SBL BibLit', 'SBL Greek', Athena, 'Foulis Greek', Cardo, 'Gentium Plus',Gentium /*мелкий*/, 'Palatino Linotype' /*среднемелкий*/, 'Arial Unicode MS', 'Lucida Sans Unicode','Lucida Grande', Code2000, serif /*мелкий, добавляется шаблоном*/ - В шаблоне {{El1}} проблема, что первые из имеющихся в списке этих политонических шрифтов — мелкие, поэтому автор шаблона искусствено увеличил размер шрифта в шаблоне. Больше этот шаблон ничего не делает. Если у читателя нет этих шрифтов, то выберутся следующие по списку, которые большие, и тогда это увеличение шрифта поломает дизайн. — Костыльный шаблон, работающий только в конфигурации компьютера одного участника.
- Стандартный шаблон {{lang}} делает следующий порядок шрифтов для «grc», их размер примерно равномелкий, т.ч. в этом плане шаблон для греч.языка универсальный, хотя только для Windows:
Cambria, 'Palatino Linotype',
Athena, Gentium,Code2000, serif - В ВП: w:Шаблон:Lang не меняет шрифты. А Шаблон:Lang-grc/w:Шаблон:Lang-grc2 ставит примерно эти же мелкие шрифты, увеличивая размер до 105 %, т. е. до размеров обычного шрифта.
- Ещё проблема, что на Linux, и всех мобильных устройствах (с Android — веткой Linux и проприентных от Apple) обычно нет стандартных шрифтов Windows, а если есть аналоги то они отличны. Например, на Android от Sumsung (нормальная хоть и устаревшая модель) у меня только шрифты Droid и Roboto. Доустановка шрифтов на большинстве гаджетов невозможна (надо рутировать, сиречь взламывать, устройство, что огромная дыра в безопасности, и мало кто умеет это, это риск убить само устройство, и далеко не все взламываются). На Linux тоже пришлось «танцевать с бубном» чтобы добавить шрифты из Windows, но все ровно, русские буквы-ДО (ять и т. д.) и греческие с диакритикой показываются у меня в ВТ размером в 2 раза больше обычных.
- На Андроид греч. буквы не показываются (upd: частично исправлено в Android 4.3, полностью в 5), скриншоты: англовики (оригинал), статья РСКД, словник РСКД. Про стандартный шрифт Roboto на Android так и написано, что греч. поддерживается частично. По теме: «Как заставить Android отображать древнегреческие символы», советуются программы, но они кстати все кривоватые, и могут требовать тот самый рут. (upd: В интернетах пишут, что единственно поддержка установки доп. шрифтов есть у Samsung, особенно в моделях Galaxy, а также у LG. Как раз имею Galaxy, к тому же рутованый; проверил все 3 из советующихся везде приложений: HiFont, FontFix, iFont - все кривые, шрифты не устанавливаются. Т.е. зависит от модели и версии прошивки.)
- Суммируя. В англовике корявый шаблон с кроссплатформенными конфликтами, путаной документацией, и непонятным отличием шаблонов Greek от Polytonic. Шаблоны рувики {{El1}}/{{El2}} скопированы из англовики без проверки, имеют теже проблемы; и второй только делает шрифт жирным, что можно было бы решить добавив параметр для смены стиля в шаблон lang.
В статье «Как заставить Android отображать древнегреческие символы» рекомендуются порядок шрифтов «Free Sans, Arial Unicode MS, UbuntuMono» — вероятно можно добавить их в список, не проверял.--Vladis13 (обсуждение) 02:29, 7 ноября 2017 (UTC)- А наш {{polytonic}} чем не устраивает? Он разве полностью аналогичен Greek? Можно было бы подпилить для ваших нужд. Плюс тенденция других развитых разделов — максимально пользоваться шаблонами и минимально — HTML/CSS тегами, которые еще не у всех фурычат как надо. Ratte (обсуждение) 22:26, 7 ноября 2017 (UTC)
- Действительно, шрифты в шаблонах чуть разные, спасибо что заметили, сделаю табличку сравнения. Эти шаблоны и есть обёртки html/css тэгов, проблем кроссбраузерности со шрифтами нет, насколько я знаю. --Vladis13 (обсуждение) 00:26, 9 ноября 2017 (UTC)
- А наш {{polytonic}} чем не устраивает? Он разве полностью аналогичен Greek? Можно было бы подпилить для ваших нужд. Плюс тенденция других развитых разделов — максимально пользоваться шаблонами и минимально — HTML/CSS тегами, которые еще не у всех фурычат как надо. Ratte (обсуждение) 22:26, 7 ноября 2017 (UTC)
- Вопросов собственно два: 1) выбор шрифта для для древнегреческого (polytonic) текста и 2) масштабирование этого текста. Выбор шрифта всегда проблема, т.к. сильно зависит от системы и платформы (даже с Андроидом ситуация в новых моделях получше: те же страницы у меня на Samsung J7: [1], [2], [3]). Какие шрифты добавлять в font-family — дело десятое, в конце концов в большинстве случаев выберется serif, которого, как правило, и достаточно. Но суть вопроса — не в выборе шрифта, а в коррекции его размера в соответствии с конкретными потребностями; это и следует обсуждать. Соответственно, дальше остаются вопросы: 1) нужно ли греческий масштабировать всегда и 2) нужно ли его масштабировать конкретно в РСКД? Первый вопрос упирается в тот факт, что разные шрифты на экране выглядят как более, так и менее крупно (что показано на примере выше); применять к ним одинаковый масштаб коррекции без учета реально используемого шрифта нецелесообразно. Конкретно по РСКД: мне пока непонятно, какая сермяжная правда стоит за использованием там именно такого мелкого шрифта. Что хотели этим донести до читателя? Если это несет смысловую нагрузку, то масштабирование шрифта оправдано и нам следует его воспроизводить у нас. Но может оказаться (и мне кажется вполне вероятным), что был просто выбран имевшийся в типографии шрифт, который оказался мельче кириллицы; в этом случае такая дотошность представляется излишней. Итого мое мнение: глобальные спец. шаблоны El1, El2, Greek, Polytonic — не нужны, следует использовать единый шаблон Lang с настройкой через MediaWiki:Common.css, без масштабирования. Локальные шаблоны с масштабированием типа РСКД-греч. возможны, но только если их использование концептуально оправдано, чего я в данном случае не вижу. — Lozman (talk) 15:31, 8 ноября 2017 (UTC)
- Да, на Android проблема была частично исправлена в Android 4.3, полностью в 5.. Хотя, в этих же шрифтах (Roboto, Droid, Noto) на Linux диактрика по прежнему кривая.
- «Какие шрифты добавлять в font-family — дело десятое, в конце концов в большинстве случаев выберется serif, которого, как правило, и достаточно.» — Для исправленного Android да. Но не для десктопов. "Serif" переводится как «засечки», "sans-serif" - "без засечек, рубленный шрифт". Т. е. если в операционке нет шрифтов списка font-family, то используется шрифт по-умолчанию с засечками из настроек браузера. Так, в Chromium (и его ветках вроде Chrome, Opera, Yandex-браузер) — это «Times New Roman», который не поддерживает нормальные яти и греч. политонические шрифты. Но при этом в операционке может быть корректный шрифт DejaVu, но не будет использоваться, ибо не указан.
- "применять к ним одинаковый масштаб коррекции без учета реально используемого шрифта нецелесообразно. [...] следует использовать единый шаблон Lang с настройкой через MediaWiki:Common.css, без масштабирования." - примерно так и сделано в Википедии. Там шаблон Lang не имеет перенастройки шрифта, только ставит атрибут
lang="grc"
(нигде в Вики не использующийся), а шаблон lang-grc ставит равномелкие шрифты (palatino linotype, new athena unicode, athena, gentium, code2000, serif
), размер которых чуть увеличивается через font-size. Хотя все ровно мельче обычных европейских шрифтов (см. например первую строку в w:Греция). И в ВП для политонических древнегреческих и монотонических современных греч. - одинаковые шрифты (w:Шаблон:Lang-grc2 и w:Шаблон:Lang-el2). Настройка через class и MediaWiki:Common.css в Википедии не используется. Текущий MediaWiki:Common.css Викитеки:Кстати, наборы шрифтов идентичные, но первый выравнивает до среднего размера, а второй почему-то нет./* Греческий */ .lang-grc, .lang-el { font-family: Cambria, Palatino Linotype, Athena, Gentium, Code2000, serif; font-size: 110%; } .greek { font-family: Cambria, Palatino Linotype, Athena, Gentium, Code2000, serif; }
- "нужно ли его масштабировать конкретно в РСКД?" - думаю да, должен выделятся, иначе визуально сливается с русским текстом. Выделяют размером почти везде: в Википедии, в сканах РСКД, в сканах "Сочинения Платона", Библия с подстрочным переводом: [4], [5]. На ancientrome.ru размером и курсивом [6]. --Vladis13 (обсуждение) 02:40, 9 ноября 2017 (UTC)
- «следует использовать единый шаблон Lang с настройкой через MediaWiki:Common.css, без масштабирования. Локальные шаблоны с масштабированием типа РСКД-греч. возможны.» — А смысл делать «lang» без настройки стиля, и к нему пачку обёрток для каждого проекта с настроками размера и стиля курсив/жирный? Тогда уж неизменяемый Lang, и один общий шаблон-обёртку с настройкой этих параметров. Хотя было бы проще добавить эти параметры в сам Lang. Т. е. «size/размер/small/мелкий» и «жирный/курсив/bold/italic», вроде
{{lang|grc|слово|size=80%|стиль=bi}}
для bold-italic, или{{lang|grc|слово|мелкий=да}}
. --Vladis13 (обсуждение) 07:33, 9 ноября 2017 (UTC)- Шаблон Lang маркирует часть текста определенным языковым маркером, навешивание на него несвойственных ему функций форматирования я считаю неправильным подходом. Мне вот что придумалось: можно ведь добавить какой-то специальный класс в
<div class='text'>
, которым обернут текст статей РСКД (в модуле), напр.<div class='text greek-small'>
, и добавить правило CSS.greek-small .lang-grc { font-size: smaller; }
; после чего достаточно будет просто помечать греческий текст в статьях РСКД шаблоном Lang, и он будет сразу отображаться как надо — а другие страницы это не затронет. По-моему, это Profit )) — Lozman (talk) 16:47, 17 ноября 2017 (UTC)- Извините за все мои многобукв. Согласен, что лишние параметры не нужны. И лучше определить шрифты для класса .grc в MediaWiki:Common.css, тем более там это уже есть, т.е. имеем замещение класса, потенциально глючным определением. Большое спасибо, этот способ попробую. --Vladis13 (обсуждение) 17:07, 17 ноября 2017 (UTC)
- В тесте работает отлично. --Vladis13 (обсуждение) 00:55, 20 ноября 2017 (UTC)
- Шаблон Lang маркирует часть текста определенным языковым маркером, навешивание на него несвойственных ему функций форматирования я считаю неправильным подходом. Мне вот что придумалось: можно ведь добавить какой-то специальный класс в
- Вопросов собственно два: 1) выбор шрифта для для древнегреческого (polytonic) текста и 2) масштабирование этого текста. Выбор шрифта всегда проблема, т.к. сильно зависит от системы и платформы (даже с Андроидом ситуация в новых моделях получше: те же страницы у меня на Samsung J7: [1], [2], [3]). Какие шрифты добавлять в font-family — дело десятое, в конце концов в большинстве случаев выберется serif, которого, как правило, и достаточно. Но суть вопроса — не в выборе шрифта, а в коррекции его размера в соответствии с конкретными потребностями; это и следует обсуждать. Соответственно, дальше остаются вопросы: 1) нужно ли греческий масштабировать всегда и 2) нужно ли его масштабировать конкретно в РСКД? Первый вопрос упирается в тот факт, что разные шрифты на экране выглядят как более, так и менее крупно (что показано на примере выше); применять к ним одинаковый масштаб коррекции без учета реально используемого шрифта нецелесообразно. Конкретно по РСКД: мне пока непонятно, какая сермяжная правда стоит за использованием там именно такого мелкого шрифта. Что хотели этим донести до читателя? Если это несет смысловую нагрузку, то масштабирование шрифта оправдано и нам следует его воспроизводить у нас. Но может оказаться (и мне кажется вполне вероятным), что был просто выбран имевшийся в типографии шрифт, который оказался мельче кириллицы; в этом случае такая дотошность представляется излишней. Итого мое мнение: глобальные спец. шаблоны El1, El2, Greek, Polytonic — не нужны, следует использовать единый шаблон Lang с настройкой через MediaWiki:Common.css, без масштабирования. Локальные шаблоны с масштабированием типа РСКД-греч. возможны, но только если их использование концептуально оправдано, чего я в данном случае не вижу. — Lozman (talk) 15:31, 8 ноября 2017 (UTC)
Таблица поддержки шрифтами букв ДО и греческих политонических
правитьКолонки сортирующиеся.
font | курсивный ять корректный | греч.политоника | С засечками (serif) | Windows 10 | WindowsXP | LinuxUbuntu | Android |
---|---|---|---|---|---|---|---|
DejaVu Serif (размер крупнее) | + (v2.35)[1] | + | + | + | + | + | - |
Cambria (в Linux скриншот, скриншот в Firefox) | + | +(W) -(L) | + | + | - | - [2] | - |
Times New Roman (в Linux скриншот) | +(W) -(L) | +(W) -(L) | + | + | + | - [2] | - |
Times (указан в class «text» ВТ, вероятно шрифт Mac OS) | ? | ? | - | - | - | - | |
palatino linotype | + | + | + | + | - | - | |
Roboto, Droid (размер крупнее), Noto[3] | * [4] | * [4] | - | - | * | * | |
Ubuntu | + | + | - | - | - | + | - |
FreeSerif (без пробела в названии) | + | + | + | - | - | + | - |
FreeSans | - | + | - | - | - | + | - |
Liberation Serif (свобод.аналог MS-шрифтов Cambria,Times New Roman, Arial) | - | - | + | - | - | + | - |
athena (коверкает латинский шрифт!) | - | - | - | - | - | - | |
athena unicode (new athena unicode, мелкий, в Chrome заметно уменьшает латынь) | - | + | - | - | - | - | |
code2000 | ? | ? | - | - | - | - | |
gentium | ? | ? | - | - | - | - | |
Verdana | - | + | - | + | + | - [2] | - |
Courier, Courier New | - | - | + | + | - [2] | - | |
Georgia | - | - | + | + | - [2] | - | |
Arial | + | + | - | + | + | - [2] | - |
Tahoma | - | + | - | + | - [2] | - | |
Lucida Console | - | - | + | - | - | ||
MS Serif | - | - | + | - | - | ||
Calibri | - | - | - | - [2] | - |
- ↑ DejaVu v2.35 есть в Ubuntu 16.04, в 14 — v.2.34 без поддержки этих букв.
- ↑ а б в г д е ё ж нет в поставке Linux, старая версия без норм. поддержки курсивных ять и греч.политоники устанавливается вручную (свободная лицензия MS)
- ↑ Noto появился в Android старше 4.3 или в 5. В Linux Ubuntu 14 есть Droid, нет Noto и Roboto.
- ↑ а б на Android проблема была частично исправлена в Android 4.3, полностью в 5. Хотя, в этих же шрифтах (Roboto, Droid, Noto) на Linux диактрика по прежнему кривая.
- Итого видно, что корректно поддерживают греческий и дополнительно буквы ДО:
- FreeSerif, DejaVu Serif (шрифт v2.35 в Ubuntu 16.04), Palatino Linotype. Без засечек (sans-serif): Arial, Ubuntu. - Их (лучше всего Free, DejaVu) стоит установить "по умолчанию" в браузере в Linux.
- Если не предполагается обёртывать шрифтом буквы ДО, то доп. шрифты:
- без засечек (sans-serif): Verdana, Tahoma, FreeSans. с засечками нестандартный: Athena unicode.
- Лучше убрать никому неизвестные и вероятно плохо отображающие ДО и другие символы:
- athena, new athena unicode, gentium, 'SBL BibLit', 'SBL Greek', 'Foulis Greek', Cardo, 'Gentium Plus', 'Lucida Grande', Code2000. --Vladis13 (обсуждение) 07:14, 9 ноября 2017 (UTC)
- @Vladis13 Ещё хорошо бы оценить качество кернинга "специфических" букв и диакритических знаков. Например, у Arial кернинг для ударения над ятем совсем не-айс: ѣ́хать. -- Sergey kudryavtsev (обсуждение) 15:52, 21 ноября 2017 (UTC)
- Скриншот сравнение шрифтов в Linux Ubuntu 16, с ударениями над ять. --Vladis13 (обсуждение) 18:16, 21 ноября 2017 (UTC)
- В Windows к сожалению стандартный Cambria тоже не корректно показывает греч. диакритику: Ὅμηρος («Гомер», надеюсь видно, пишу из Linux). Диакритика должная быть перед буквой, показывается за и под ней, и эта проблема почти в каждой фразе на древнегреческом, ибо эта диакритика общеупотребляемая. --Vladis13 (обсуждение) 18:16, 21 ноября 2017 (UTC)
Корректные шрифты для Linux
править@Lozman, Sergey kudryavtsev Предлагаю исправить массовую проблему с отображением букв в Linux, просто добавив его шрифт в список. (Обновив {{lang}} как обсуждали выше.) Скриншоты этого безобразия: Liberation, DejaVu. Текущие шрифты в MediaWiki:Common.css:
div.text {font-family: Cambria, Times New Roman, Times, serif;}
.oldspell, .oldspell-indent {font-family: Cambria, Palatino Linotype, serif;}
.lang-grc, .lang-el {font-family: Cambria, Palatino Linotype, Athena, Gentium, Code2000, serif;}
По-сути, список абсурдный. — Вначале перечислены стандартные шрифты Windows, они есть у всех, поэтому последующие никогда не будут использованы (включая никому неизвестные нестандартные Athena, Gentium, Code2000). Т.е. у всех пользователей Windows всегда будет использоваться только Cambria. Но при этом в списке нет шрифтов Linux. Зачем обновлять классы "oldspell" и "text"? — В ВТ почти нигде не используется шаблон:lang для специального выделения слов на иностранных языках, пишется всё подряд, например. Поэтому шрифт должен корректно отображать все буквы и диакритику: русские ударения, греч.политонику и латинь из расширенного диапазона, и русские буквы ДО.
Предлагаю FreeSerif (скриншот), практически идентичный тому как ВТ отображается в Windows:
div.text {font-family: Cambria, Times New Roman, Times, FreeSerif, serif;}
.oldspell, .oldspell-indent {font-family: Cambria, Palatino Linotype, FreeSerif, serif;}
.lang-grc, .lang-el {font-family: Cambria, Palatino Linotype, FreeSerif, Athena Unicode, Gentium, Code2000, serif;}
--Vladis13 (обсуждение) 17:29, 25 ноября 2017 (UTC)
- Сделано. — Lozman (talk) 22:09, 27 ноября 2017 (UTC)
class "oldspell"
правитьНо оптимизацию «языковых» классов следует продолжить. Вероятно, стоит выкинуть маргинальные шрифты, перечисленные выше. Также неплохо бы расформировать классы oldspell
и oldspell-indent
(или объединить с аналогичными классами без oldspell, типа text
или indent
). К lang-grc
и lang-el
присоединить класс greek
, за которым никакой особой сермяжной правды не стои́т (по-хорошему, его бы тоже сто́ило вывести из употребления). — Lozman (talk) 22:09, 27 ноября 2017 (UTC)
- Спасибо. Согласен, о маргинальных шрифтах, смысла и возможности применения их нет.
- Класс «greek» нигде не применяется кроме шаблона {{Lang-grc2}}, который тоже нигде не применяется. И не понятно, почему слова через шаблон «lang-grc» пишутся с размером 110 %, а через «lang-grc2» — обычным (мелоковато-греческим) кеглем. Размер должен быть тот же, разница шаблонов только в приставке «др.-греч.» перед словом.
- Да, «.oldspell-indent p» — дубль «.indent p» + «.oldspell».
.indent p { text-indent: 1.6em; margin-bottom: 0; margin-top: 0; text-align: justify; } .oldspell, .oldspell-indent { font-family: Cambria, Palatino Linotype, FreeSerif, serif; } .oldspell-indent p { text-indent: 1.6em; margin-bottom: 0; margin-top: 0; text-align: justify; } .text p { text-indent: 1.6em; line-height: normal; }
- Дублируется ещё ниже:
/* ПИ Страница */ .ns-104 .mw-parser-output > p, .ns-104 .oldspell > p { text-indent: 1.6em; margin-bottom: 0; margin-top: 0; text-align: justify; } // и указан в двух параграфах далее, там не понятно.
- «.oldspell» добавляет только шрифты. У .text и .oldspell в списке шрифтов на первом месте Cambria, все ровно он будет показываться всегда. На втором месте у .text — шрифт Times New Roman, который тоже корректен для ДО. Поэтому в .text и .oldspell разницы в общем нет. Для Linux шрифт добавили. Для Mac OS (включая IPad/IPhone) — незнаю, это вроде их шрифт Times, он указан в .text, и вроде тоже старый и проблем иметь не должен.