New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Tэг U в DSL не всегда рендерится правильно

Сообщаем о найденных ошибках сюда

Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 11:44 am

В некоторых случаях, тэг подчеркивания в DSL не всегда рендерится првильно.

К примеру:
Code: Select all
#NAME "Test"
#INDEX_LANGUAGE "English"
#CONTENTS_LANGUAGE "English"

test
   Hello,[u] Test[/u].
   Hello, [u] Test[/u].

В первой строчке будет подчеркнуто не только слово Test, но и пробел перед ним. Во втором случае подчеркнуто только слово Test, как и должно быть.

Вот как это выгдядит:
Image
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby ikm » Fri May 08, 2009 1:19 pm

А как данная карточка выглядела бы в Lingvo?
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Tэг U в DSL не всегда рендерится правильно

Postby gromescu » Fri May 08, 2009 1:19 pm

Почему не правильно? Если тег стоит перед пробелом, то он пробел и подчеркивает. Или lingvo себя как-то по-другому ведет?
gromescu
 
Posts: 76
Joined: Sun Apr 05, 2009 2:25 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 1:33 pm

ikm wrote:А как данная карточка выглядела бы в Lingvo?

Выглядела бы оба раза как на скриншоте выше вторая строка.
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 1:35 pm

gromescu wrote:Почему не правильно? Если тег стоит перед пробелом, то он пробел и подчеркивает. Или lingvo себя как-то по-другому ведет?

И в веб браузерах, и в Lingvo пробелы в начале и в конце НЕ подчеркиваются, что разумно.

Прошу заметить, что в GD пробел в начале ТОЖЕ не подчеркивается в большинстве случаев, см. строку 2 скришнотного примера. Но в некоторых случаях, GD ведет себя по другому, отлично от того как он ведет себя обычно, и отлично от того как ведет себя Лингво и все веб бразуеры на планете.
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 1:39 pm

Вот скриншот из Лингвы, на всякий случай:
Image
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby ikm » Fri May 08, 2009 1:53 pm

Ну, не скажу насчет всех браузеров в мире, но firefox и webkit-базированные рендерят следующее:

Code: Select all
<p>   Hello,<u> Test</u>.</p>
<p>   Hello, <u> Test</u>.</p>

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

p.s. Да, моя позиция в данном вопросе такова: если это выглядит в lingvo так, а не иначе, то и в gd следует иметь то же. Просто потому, что это формат Lingvo, а не html :)

p.p.s. Смотря на последнюю картинку: то есть, пробел в первом случае таки остается, просто не подчеркивается? А во втором он исчезает, потому что их уже два?
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 2:03 pm

ikm wrote:Ну, не скажу насчет всех браузеров в мире, но firefox и webkit-базированные рендерят следующее: именно так, как изображено на первой картинке в топике.

Нда, похоже насчет браузеров я поспешил, а ведь даже проверял в трех браузерах какой-то примерный код, который уже удалил...
ikm wrote:p.s. Да, моя позиция в данном вопросе такова: если это выглядит в lingvo так, а не иначе, то и в gd следует иметь то же. Просто потому, что это формат Lingvo, а не html :)

Горячо поддерживаю! :) Чем меньше разногласий в рендеринге одного и того же формата, тем всем лучше.
ikm wrote:p.p.s. Смотря на последнюю картинку: то есть, пробел в первом случае таки остается, просто не подчеркивается? А во втором он исчезает, потому что их уже два?

Лингво вообще-то ВСЕ пробелы не подчеркивает (что мне лично не кажется првильным, потому как получается разрывная линия, если подчеркнута целая фраза, но это частности и не фатально). А вот торчащие подчеркнутые пробелы по бокам - вот это да, не очень красиво выглядит.

Касательно нескольких пробелов подряд, Лингво их всегда склеивает в один. Можно хоть 100 сделать, отрисуется ровно один. НО, если отквотить пробел слэшем:
Code: Select all
\ \ \

Вот такое отрендерится как три пробела. Мы так отступы в параграфах в Лингво словарях делаем... :)
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Re: Tэг U в DSL не всегда рендерится правильно

Postby ikm » Fri May 08, 2009 2:09 pm

Резюмируем: первый пробел не подчеркивается, а отквоченный пробел является &nbsp; (что для меня кстати большая новость). Ну что ж, в TODO.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Tэг U в DSL не всегда рендерится правильно

Postby Gloggy » Fri May 08, 2009 2:16 pm

ikm wrote:Резюмируем: первый пробел не подчеркивается, а отквоченный пробел является &nbsp; (что для меня кстати большая новость). Ну что ж, в TODO.

Я рад, если вы в этом уже разобрались. Я только сильнее запутался! :)

Пробую, к примеру, тот же вариант, что и выше, но вместо обычных пробелов ставлю отквоченые:
Code: Select all
    Hello,[u]\ Test[/u].
    Hello,\ [u]\ Test[/u].

В данном случае Лингво никакие пробелы не склеивает, и рисует вот что:
Hello, Test - тут один подчеркнутый пробел.
Hello, _Test - тут один обычный пробел и один подчеркнутый.

GD рисует:
Hello, Test - тут один подчеркнутый пробел, все как в Лингво.
Hello, Test - тут один обычный пробел.

То бишь, для парсера Лингво обычные пробелы - это просто разделители, он их проглатывает, а отквоченые пробелы - это нормальные символы-пробелы.
Gloggy
Модератор
 
Posts: 516
Joined: Wed May 06, 2009 3:01 pm

Next

Return to Ошибки

Who is online

Users browsing this forum: No registered users and 23 guests

cron