2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Tab stop
Сообщение10.03.2020, 07:39 
Аватара пользователя


10/10/18
739
At Home
arseniiv в сообщении #1443964 писал(а):
Или например фигурный пробел, полезный для позиционирования арабскоцифренных чисел, в большей части шрифтов имеющих одинаковую ширину...
Для этого же (и подобного) есть decimal tab stop и dynamic tab stop.
Tab stop писал(а):
Some software supports tab stops whose positions are set dynamically by the position of a specific character in a line of text. Adobe InDesign supports this with a non-printing "indent to here" character.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 13:10 


15/11/15
916
Ну вы раз с HTML работаете, вам достаточно перед анализом полученной страницы с кодом text сделать что-то типа

Код:
text = text.replace(' ', ' ');
text = text.replace(' ', ' ');
text = text.replace(' ', ' ');
...

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 14:12 
Аватара пользователя


07/03/16

3167
Про пробелы

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 14:57 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
arseniiv в сообщении #1443990 писал(а):
А как же единица, она не так редко тоньше.
Munin в сообщении #1443991 писал(а):
Она по внешнему виду тоньше, но по размеру символа занимает полное знакоместо.
Оказывается, прав всё же arseniiv, а за примерами далеко ходить не надо.

Arial:

Изображение

Times New Roman:

Изображение

По 80 цифр в строке. Использовался LibreOffice Wtiter.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 15:04 


15/11/15
916
Aritaborian в сообщении #1444037 писал(а):
LibreOffice Wtiter.

В ворде и блокноте вроде ровно все.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 15:09 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
gevaraweb, а какой у вас был шрифт?

Windows Notepad, Arial:

Изображение

Windows Notepad, Times New Roman:

Изображение

(MS Word у меня нет, проэкспериментировать не могу.)

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 15:25 


15/11/15
916
Aritaborian действительно, в блокноте от шрифта играет... в ворде реже, но бывает

Изображение

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 16:12 
Аватара пользователя


07/03/16

3167
gevaraweb в сообщении #1444043 писал(а):
в блокноте от шрифта играет... в ворде реже, но бывает

Это явно Ворд умничает, а в фонте ширина разная - проверил в фотошопе.

И в Иллюстраторе ширина разная.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 16:16 
Заслуженный участник


27/04/09
28128
Munin в сообщении #1443991 писал(а):
Она по внешнему виду тоньше, но по размеру символа занимает полное знакоместо.
Часто, но не всегда! (Да, это уже можно было не писать ввиду предыдущих постов.)

gevaraweb
eugensk уже написал, что уникод определяет свойства кодпойнтов, позволяющие матчить их суразно, но например движок JS в Firefox ещё не научился воспринимать \p{...} в регэкспах. Во многих языках однако поддержка таких вещей уже давно. Главное только знать, что конкретно значит то или иное свойство/категория, чтобы не сделать слишком широкий или узкий критерий. Заменять же пробелы по одному — сомнительная с точки зрения производительности и удостоверения корректности затея.

Aritaborian
gevaraweb
Сравните версии шрифтов. Ещё кстати вроде мог быть при рендеринге переключатель того, использовать ли цифры разной или одинаковой ширины, но я ни про какую программу не знаю, как подобные вещи в них переключать (в шрифтах позволены ещё другие вариации, типа old-style numerals, имеющих разную высоту и выходящих вниз и вверх, против обычных).

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 20:21 
Заслуженный участник


20/08/14
11067
Россия, Москва
Моноширинность цифр в пропорциональном шрифте спасает не всегда: вдруг система счисления более чем десятичная? А символы ABCDEF (хотя бы, а то и остальные тоже) вполне могут отличаться от ширины цифр. Мне так несколько раз в МК понадобилось рисовать эти символы дважды в шрифте, обычно и моноширинно для использования в качестве "цифр".
А ещё аналогичная проблема часто есть с символами десятичной точки (для чисел), изредка с символом двоеточие (для времени) и символом деления (для даты). Почти всегда проблема с символом плюса и минуса. Изредка и с другими символами возникает засада. Так что одним пробелом и единицей проблема не исчерпывается.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 20:44 
Заслуженный участник
Аватара пользователя


30/01/06
72407
В общем так, господа.
В нормальных цивилизованных шрифтах, кроме этих ваших пропорциональных букв, есть ещё диапазон Unicode Halfwidth and Fullwidth Forms, в котором все цифры и буквы латиницы имеют совершенно одинаковую стандартную ширину. Можно ими набирать хоть 16-ричные числа, хоть 62-ичные.
Надеюсь этим поставить точку в этом не очень осмысленном обсуждении.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 20:48 
Заслуженный участник


27/04/09
28128
Ну эти диапазоны не сами для себя придуманы и их обычно нет в шрифтах, не содержащих китайские иероглифы или кану, или они могут выглядеть страаашно даже в таких.

-- Вт мар 10, 2020 22:50:41 --

Наконец вроде в шрифтах с правильными пропорциями ерогов пропорции halfwidth латиницы и цифр будут слишком узкими, а fullwidth — слишком широкими, точнее более вероятно со слишком большими визуальными пробелами.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 20:51 
Заслуженный участник
Аватара пользователя


30/01/06
72407
arseniiv в сообщении #1444127 писал(а):
и их обычно нет в шрифтах, не содержащих китайские иероглифы или кану

...да кому они нужны, такие шрифты?..

-- 10.03.2020 20:53:12 --

arseniiv в сообщении #1444127 писал(а):
Наконец вроде в шрифтах с правильными пропорциями ерогов

Как написано у А.Привалова: "не бывает". Не доросла типографика пока до того, чтобы правильно изобразить то, что простой китайский старичок легко пишет кисточкой.

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение10.03.2020, 20:54 
Заслуженный участник


27/04/09
28128
Ну кстати нужны, если например думать про веб-шрифты, которые клиентский браузер скачивает, если они не в кэше. Тогда если такой шрифт не используется для некоторых весьма больших диапазонов, связанных с весьма сложными в среднем по форме символами, лучше их поддержку обрезать, чтобы шрифт загружался быстрее.

-- Вт мар 10, 2020 22:56:32 --

Munin в сообщении #1444128 писал(а):
Не доросла типографика пока до того, чтобы правильно изобразить то, что простой китайский старичок легко пишет кисточкой.
Ну тогда читайте ту часть как «с наиболее правильными из имеющихся». Я хотел отсечь только немногочисленные потенциальные шрифты, где ероги добавили от балды «чтобы были», не особо разбираясь в них, или скопировали откуда-то с неправильной метрикой (вот это не так уж гипотетическо).

 Профиль  
                  
 
 Re: Очередное шапито при парсинге: символ 160
Сообщение11.03.2020, 01:20 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Добавлять CJK ideographs - отдельная большая попоболь, так что "от баллы" это не делают.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group