Как стать автором
Обновить

Комментарии 14

с книжным форматированием.

Честно говоря, книжное форматирование — это растяжение пробелов + переменная ширина одинаковых букв + переносы + слова, подобранные автором и редактором в таком порядке, чтобы переносов было не больше двух подряд + висячая пунктуация.

Когда браузер этому научится, все издательства будут верстать в браузере.

Казалось бы, при чем тут автор и редактор, если все это в программах верстки и так работает, для любых размеров текта по ширине и размеру кегля? Автоматизированные переносы в них работают 100500 лет как. И да, они в основном используют растягивание пробелов, но совершенно не "переменную ширина одинаковых букв". Оно не идеально, но при явных огрехах таких систем ручные мягкие переносы делает верстальщик книги, но никак не редактор с автором. Кстати мягкие переносы есть и в web, это html-entity ­, которые, впрочем, тоже можно расставлять автоматически на основе морфологии

Казалось бы, при чем тут автор и редактор, если все это в программах верстки и так работает, для любых размеров текта по ширине и размеру кегля?

Потому что автоматизированные переносы работают плохо, создают больше 2 переносов подряд. А растягивать пробелы очень опасно: может получиться плохой результат. Поэтому-то и используется микротипографика, которая позволяет масштабировать все буквы по ширине.

Оно не идеально, но при явных огрехах таких систем ручные мягкие переносы делает верстальщик книги, но никак не редактор с автором.

Задача не в том, чтобы расставить переносы, это и автомат умеет. Задача — избавиться от переносов.

Потому что автоматизированные переносы работают плохо, создают больше 2 переносов подряд.

Вы давно в программах верстки работали? Да пусть даже не совсем верстки, а к примеру Corel Draw? Автоматизированные переносы в них настраиваются, в том числе, чтобы не делать более указанного числа переносов подряд, минимальных висячек, минимальной длины слова и все такое.

Вы лишь подтверждаете, что сам браузер этого не делает.

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

Вот так ваш комментарий выглядит в браузере с переносами и выравниванием по ширине.

В Опере работает только выравнивание, переносов нет.

Судя по таблице, в Opera словарь только для английского.

Имхо, выравнивание по ширине и все эти переносы - это все какое-то устаревшее. Перенос рубит слово на двое и заставляет "разрывать внимание" переходя глазами со конца строки в начало следующей. А выравнивание по ширине делает абзац сливающимся, легче сбиться со строки. Неровный правый край текста как раз избавляет от этого. Поэтому мне уже с экрана читать веб стало приятнее, чем бумажные книги, где как раз текст выравнен с обеих сторон. И если мне сегодня пришлось бы что-то много записывать в тетрадке, я б не переносил слова, а выравнивал свою писанину только слева.

А рваная и драная правая сторона текста вас устраивает? Переносы - да, согласен, ломать слово через колено не надо. Но выравнивание нужно. Точнее, опция выравнивания в браузерах нужна. Пусть каждый настроит так, как ему удобнее. Пусть хоть по центру выровняет, прости господи.

А для того, чтобы текст не сливался в кашу, умные люди давным-давно придумали абзацы.

А рваная и драная правая сторона текста вас устраивает?

Да, меня устраивает. Я благодаря ей быстрее нахожу строку от прочтения которой отвлекся.

Судя по таблице, в Opera словарь только для английского.

Здесь уже высказали правомерное сомнение об удобстве и целесообразности выравнивания текста по ширине на странице. Но, это дело вкуса.

Меня интересует иное - реализация механизма автором скрипта.

Явно, что предложенный скрипт будет тормозным и не будет обрабатывать динамически создаваемое содержимое. Также явно не хватает фильтра необрабатываемых элементов.

Набросал для примера автору свой вариант скрипта, лишенный указанных недостатков. Но, не проверял. Хотя по идее должен работать:

// ==UserScript==
// @name         P-justify-hyphens
// @version      0.1
// @description  try to take over the world!
// @match        https://www.rbc.ru/*
// @match        https://lenta.ru/*
// @match        https://habr.com/*
// @run-at        document-start
// @grant         unsafeWindow
// ==/UserScript==


(function () {
    'use strict';
    var css = document.createElement('style');
    css.innerHTML += [
    `*:not(img):not(svg):not([class*=\"icon\"]):not([class*=\"ico\"]):not([class*=\"button\"]):not([class*=mjx])`+
    `:not([class*=vjs]):not([class*=fa]):not([class*=ms-Button-icon]):not([class*=bb])`+
    `:not([class*=icon]):not([class*=ll]):not(i):not([role*=button]):not([type*=button]):not([class*=btn])`+
    `:not([class*=button]):not([class*=button] span),`+
    `[class*="text"]:not([class*=fa])  {`,
                      `-moz-hyphens: auto !important;`,
                      `-ms-hyphens: auto !important;`,
                      `-webkit-hyphens: auto  !important;`,
                      `text-align: justify  !important;`,
   `}`
    ].join("\n");
    document.documentElement.appendChild(css);
}) ();

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории