Перейти к содержимому


Фотография

Типографические нормы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 49

#41 hasherfrog

hasherfrog

    Штатный параноик

  • Пользователи
  • PipPipPip
  • 2 184 сообщений

Отправлено 09 апреля 2009 - 08:45


Я сделал некоторые изменения
- в отработке тире в [коде].
- в отработке "подвешенных" тире

И добавил кое-что по инициалам.

Если есть замечания, делайте их тут.


#42 vidimo

vidimo

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 22 апреля 2009 - 19:36

Решил высказаться насчет проблемы, использования пробелов на форуме. (Все сугубое ИМХО!)

Поводом стало вот это:
P. S. Пример.
С точки зрения орфографии — все верно, но выглядит ужасно.


----------
1. Итак, какие нужны пробелы?
(Название | Юникод шестнад. | Юникод десятич.)

                   •                                                                    (SPACE | 0020 | 0032) Обычный пробел                                     « » — Где использовать — понятно.
                   •                                (NO-BREAK SPACE | 00A0 | 0160) Неразрывный пробел                      « » — Тоже ясно.
                   • (NARROW NO-BREAK SPACE | 202F | 8239) Узкий неразрывный пробел « » — Использовать для P. S., А. С. Пушкин, г. Москва и т. д. и т. п.

2. Что имеем сейчас, и как оно работает?

                   •                                    (SPACE | 0020 | 0032) Обычный пробел « » — Работает нормально, но фильтр нещадно режет любую последовательность, что не дает возможности форматировать текст с помощью обычного пробела. :-(
                   • (NO-BREAK SPACE | 00A0 | 0160) Неразрывный пробел « » — При вставке его в окне редактирования сообщения, он действительно неразрывен, но при просмотре готового сообщения он становится обычным, и рвет строку.
                   •                  (THIN SPACE | 2009 | 8201) Тонкий пробел « » — Тот самый "&thinsp", который таки неразрывный, да. Сейчас используется для автозамены в P.S. (видел только постскриптум, может и еще где!?) Но посмотрите, он же шире чем обычный! Уж лучше использовать простой неразрывный, чем этот!

3. Ваши предложения?

Для начала разобраться почему "рвется" неразрывный пробел? (может это я что-то не так делаю, проверьте у себя.)
Еще у меня почему-то не получается вставить "Тонкий" и "Узкий" пробелы с помощью сочетаний Alt+..., но они нормально вставляются копи-пастой. (у форума Юникод, или Win-1251? Я если честно, не очень разбираюсь в кодовых таблицах, может кто-нибудь просветит на этот счет!?)
После этого, я предлагаю отказаться от "&thinsp" и использовать вместо него узкий неразрывный, или в крайнем случае — корректный, обычный, неразрывный пробел.

P. S. Что же касается автоформатирования, то по моему, оно должно способствовать красивому представлению, именно грамотно составленных сообщений, от намеренно безграмотных оно не спасет, и поэтому можно даже не стараться предусмотреть все возможные варианты.
Но если так, то нужно не забывать что есть еще P.P.S. и P.S.S., да и P. S. с обычным пробелом тоже неплохо бы заменить на узкий.
Вообще же, создание качественного автоформата — довольно муторное дело, и нужно еще подумать стоит ли оно затраченных усилий?

Это сообщение отредактировано vidimo - 23 апреля 2009 | 02:09


#43 hasherfrog

hasherfrog

    Штатный параноик

  • Пользователи
  • PipPipPip
  • 2 184 сообщений

Отправлено 23 апреля 2009 - 08:27

Для начала, что ли:
http://img21.imagesh...081/new1sqx.jpg
Вы линуксоид, я понимаю, но тут полно людей с виндой.

Что касается точного ответа на все замечания, я сейчас попытаюсь...


#44 IRI

IRI

    Генерал Фейлор

  • Пользователи
  • PipPipPip
  • 3 775 сообщений

Отправлено 23 апреля 2009 - 09:06

hasherfrog, проблемы, скорее, у вас, потому что у меня на трех машинах с разными системами (Windows Vista, Windows 7, Ubuntu 8.04) все отображается точно так, как описывает vidimo. Я, кстати, подобную фигню наблюдал под Windows XP, когда в сообщение вставлялись юникодные символы и весь пост превращался в крокозяблы, но это было, как мне кажется, немного другое явление.


#45 der Fluger

der Fluger

    Pugilist Illustrator

  • Пользователи
  • PipPipPip
  • 2 223 сообщений

Отправлено 23 апреля 2009 - 09:33

А у меня в посте vidimo даже кракозябры не отображаются. Просто огромные кучи пробелов.

QUOTE
P. S. Пример.

Некто Роберт Брингхерст утверждает, что в подобных сокращениях и инициалах пробелы ставить не обязательно. Его утверждение касается, конечно, латинской типографики, но если бесит большой пробел и нет тонких шпаций — не грех и без пробела написать.


#46 hasherfrog

hasherfrog

    Штатный параноик

  • Пользователи
  • PipPipPip
  • 2 184 сообщений

Отправлено 23 апреля 2009 - 10:34

IRI
>> hasherfrog, проблемы, скорее, у вас

И я исхожу из того, что такие же проблемы возникнут у кого-то ещё. В то время как   отображается везде и всегда (ну, кроме lynx'ов всяких).

>> как описывает vidimo

Я, вот честно, сейчас несколько заморочен матрицами, свёртками и деконволюциями, поэтому ваааще не понимаю половины из того, что он описывает, просто потому, что не вижу, что он говорит, а вижу тазики крякозябликов :] :] :] (три смайла, на всякий случай, и это всё не сарказм).

der Fluger
>> P. S. Пример.

Тут, по-моему, вопрос в том, что пробела быть не должно между P. и S. — а он появляется, как и в "т.д." и "т.п.". После редактирования, тонкий пробел при пересылке браузером перефигачивается в обычный, и ... э-э-... чего там получается-то?

Кстати, лишний пробел получается и вот в какой конструкции:
лалала  — ла
Вот это явно недоглядный косяк


#47 vidimo

vidimo

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 23 апреля 2009 - 19:54

Вот так, да...
Что-то намутил я здесь. Прошу прощения, за поломанные глаза. :-(

К сожалению не линуксоид, нет. У меня обычная винда XP SP2, со стандартными настройками, браузер тоже без расширений — Firefox 2.0.0.5, в меню Вид-Кодировка указана Windows-1251. Вот так, к примеру, это все выглядит у меня.

QUOTE
После редактирования, тонкий пробел при пересылке браузером перефигачивается в обычный

тонкий aka "&thinsp" пробел, у меня выглядит шире чем обычный всегда, и при редактировании и после отправки и во всех других сообщениях
QUOTE
и ... э-э-... чего там получается-то?

Я написал "P.S." без пробела, и сработала автозамена на "P. S." с широченным пробелом. Мне показалось что это выглядит не очень красиво, и что это так у всех.
А оказалось, что просто символ "&thinsp" на разных системах может отображаться по разному.
К примеру, у вас на скриншоте автозамена выглядит вполне корректно.

Думаю, если возникает такая проблема различного отображения, то лучше тогда вообще отказаться от "нестандартных" символов, и пользоваться обычными пробелами, ну или в крайнем случае использовать обычный неразрывный пробел. Только вот он (у меня по крайней мере) все равно рвет строку после опубликования сообщения, а при составлении (на белом поле) — все нормально, строка держится!
А вот резку последовательности пробелов, я считаю не очень удачной идеей, иногда все-таки бывает нужно выравнить текст или сделать отступ.

------------
2 hasherfrog
Мне сделать что-нибудь с мутантом, или оставить ради примера?


#48 hasherfrog

hasherfrog

    Штатный параноик

  • Пользователи
  • PipPipPip
  • 2 184 сообщений

Отправлено 24 апреля 2009 - 09:36

111111111 111 111 111 11111111111
vidimo, посмотрите, как у вас выглядят другие пробелы, вот тестовая страница: http://www.robinlion...s/html4/spchars

Вообще, у меня FF 3.0.0.9, может в этом дело?

***

Давайте вот загадочный момент обсудим.

Вот FF, к примеру, может оперировать символами Юникода, написанными в виде &#что-то-там; прямо в текстовых полях. Например, если я напишу &# 9742; (без пробела), то прямо в момент отправки будет произведена замена на ☎.

В IE6 происходит что-то такое же, только не телефончик рисуется, а кубик.

Так вот кто делает замену цифр на значок? Похоже, что браузер, потому что тег [code ] не спасает, значит, когда разбор применяется на сервере, туда приезжает уже не 7 цифр, а один знак? Или [code ] не экранирует использование конструкций вида &#что-то-там; ??? Стоп, а я сейчас перехвачу то, что отправляет браузер...

Он отправляет
CODE
0030   40 a6 bb d2 00 00 47 45 54 20 2f 73 65 61 72 63  @.....GET /searc
0040   68 3f 71 3d 25 32 36 25 32 33 39 37 34 32 25 33  h?q=%26%239742%3
0050   42 2b 26 69 65 3d 75 74 66 2d 38 26 6f 65 3d 75  B+&ie=utf-8&oe=u

при том, что гугль возвращает уже
CODE
gth=2048 value="☎" title=
, но сам же себе предупреждает следующий запрос как
CODE
href="http://maps.google.ru/maps?q=%E2%98%8E&oe=utf-8

это из сёч-бара. Теперь форму проверим...
CODE
0390  25 45 33 25 45 45 25 45  32 26 50 6f 73 74 3d 31   %E3%EE%E 2&Post=1
03a0  31 31 31 31 31 31 31 31  31 25 32 36 25 32 33 39   11111111 1%26%239
03b0  37 34 32 25 33 42 31 31  31 31 31 31 31 31 31 31   742%3B11 11111111
03c0  25 30 44 25 30 41 25 35  42 62 25 35 44 76 69 64   %0D%0A%5 Bb%5Dvid



э-э-э
Код на сервере парсится не совсем корректно. А, стоп...
HTML

Не, ты смотри, пофигу...

Угу. А что насчёт пробела-то?...
Пробуем отправить узкий, короткий ,1/4 и т.п.
1111111 111 111 111 111111111
CODE
0380  73 74 3d 31 31 31 31 31  31 31 25 32 36 25 32 33   st=11111 11%26%23
0390  38 31 39 34 25 33 42 31  31 31 2b 31 31 31 25 32   8194%3B1 11+111%2
03a0  36 25 32 33 38 31 39 35  25 33 42 31 31 31 25 32   6%238195 %3B111%2
03b0  36 25 32 33 38 31 39 34  25 33 42 31 31 31 31 31   6%238194 %3B11111
03c0  31 31 31 31 25 30 44 25  30 41 25 35 42 62 25 35   1111%0D% 0A%5Bb%5

Так, а что отправит Опера
CODE
0440  73 74 3d 31 31 31 31 31  31 31 31 31 25 32 36 25   st=11111 1111%26%
0450  32 33 38 31 39 34 25 33  42 31 31 31 2b 31 31 31   238194%3 B111+111
0460  25 32 36 25 32 33 38 31  39 35 25 33 42 31 31 31   %26%2381 95%3B111
0470  25 32 36 25 32 33 38 31  39 34 25 33 42 31 31 31   %26%2381 94%3B111
0480  31 31 31 31 31 31 31 31  26 65 6e 61 62 6c 65 74   11111111 &enablet

мрак, а IE?
CODE
04a0  45 37 25 45 45 25 45 41  26 50 6f 73 74 3d 31 31   E7%EE%EA &Post=11
04b0  31 31 31 31 31 31 31 25  32 36 25 32 33 38 31 39   1111111% 26%23819
04c0  34 25 33 42 31 31 31 2b  31 31 31 25 32 36 25 32   4%3B111+ 111%26%2
04d0  33 38 31 39 35 25 33 42  31 31 31 25 32 36 25 32   38195%3B 111%26%2
04e0  33 38 31 39 34 25 33 42  31 31 31 31 31 31 31 31   38194%3B 11111111
04f0  31 31 31 26 65 6e 61 62  6c 65 74 72 61 63 6b 3d   111&enab letrack=

Так, ну в общем, отправляется последовательность вида %26%238195%3B
Что возвращается, вот вопрос...


в инпут поле падает
CODE
4a70  3d 27 74 65 78 74 69 6e  70 75 74 27 3e 31 31 31   ='textin put'>111
4a80  31 31 31 31 31 31 26 23  38 31 39 34 3b 31 31 31   111111&# 8194;111
4a90  20 31 31 31 26 23 38 31  39 35 3b 31 31 31 26 23    111&#81 95;111&#
4aa0  38 31 39 34 3b 31 31 31  31 31 31 31 31 31 31 31   8194;111 11111111

В хтмл падает
CODE
0f80  31 31 31 31 31 31 31 31  31 26 23 38 31 39 34 3b   11111111 1& #8194;
0f90  31 31 31 20 31 31 31 26  23 38 31 39 35 3b 31 31   111 111& #8195;11
0fa0  31 26 23 38 31 39 34 3b  31 31 31 31 31 31 31 31   1& #8194; 11111111

тоже самое

То есть, перевод %26%238195%3B в & #8195; делает php. В базе, видимо, тоже хранится & #8195; Вот это надо проверять, форум отключать.

Отправлено: 24 апр 09 13:36
В базе лежит &# 8195;
Кстати, вот с дефисами была несколько другая ситуация, там в базе лежали не &#-последовательности, а win-1251-коды.


Отправлено: 24 апр 09 14:13
Последовательность.

Пользователь вводит текст в текстовое поле. Ввод идёт в той кодировке, которая установлена в меню браузера "вид-кодировка", по умолчанию значение берётся из мета-тега страницы, которая содержит собственно поле ввода. И в этой же кодировке происходит отправка текста. Теоретически, значение совпадает с accept-charset значением поле ввода, но мы можем его насильно поменять.

Браузер отображает пользователю вводимый текст в удобоваримом виде согласно установленной локали ОС. То есть, независимо от значения "вид-кодировка", пользователь всегда будет видеть нормальные буковки. Но при отправке браузер переконвертит их сначала из локали ОС в ту локаль, которая прописана в теге "вид-кодировка", потом в accept-charset-кодировку формы, потом сделает escape, превратив буквы > 127 в последовательности %xx, и вот это отправит.

Я тут прав или нет? Алоэ, веб-программисты?

Сервер (PHP) получает сообщение, рассматривая его как сообщение в той кодировке, которая прописана у него в конфигах (эту кодировку он сообщил ранее браузеру в мета-теге страницы для ввода данных и в accept-charset). Он сворачивает %xx в байты, переконверчивает полученный текст в ту кодировку, которая используется при исполнении php-модулей и в таком виде уже подаёт на вход запросам php-кода типа "дай текст, который прислали в том поле".

Тут срабатывает парсер. А потом (если идёт обращение по записи в БД) результат перекручивается в кодировку базы данных и так хранится.

Когда идёт обратный вызов, текст БД переводят в кодировку PHP, парсят (ибо возможны обратные какие-то махинации), переводят в кодировку www-сервера для отображения пользователю и в таком виде отсылают. Браузер принимает, конвертит в ту кодировку, что установлена в "вид-кодировка", потом перегоняет в локаль ОС и так это всё видит человек.

+++

Это всё к чему...

Я уже забыл ;-|


Отправлено: 24 апр 09 14:37
а. ну да.

Поскольку, как выяснилось, &#-последовательности некоторыми браузерами обрабатываются неправильно, следует избежать их искусственное использование для форматирования текста на уровне парсера php (впускать (и хранить) в PHP как спец-символы мы их всё равно будем, мало ли что пользователь там ввёл, это его право). То есть, единственной альтернативой для тонких пробелов будет сам пробел и его html-обозначения, не содержащие &#, то есть     и т.п.

Из этих, как уже я когда-то писал, наиболее распространёнными мне кажутся   и  , при том, что   таки разрываемый пробел. Нет маленького и неразрывного.

Ну и вот. Этим я и руководствовался.

Сейчас есть ряд технических блох, типа "P.S. прикола", но это как-то можно разрулить, я думаю. Вводить же другие обозначения пробелов мне бы не хотелось.

Что касается невозможности ввести короткий пробел в FF (или IE) через ALT, это пока для меня вещь непонятная. Надо проверить, как оно чего. Неразрывный я ввожу, кстати, Alt+0160. А вот про короткий... какой код?


#49 vidimo

vidimo

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 24 апреля 2009 - 21:00

Я вам глаза, а вы мне мозг... Вы мстительный!!! :-))

Моя ошибка, что я не поинтересовался, у всех ли одинаково выглядит этот символ, и не зная технической части, стал строить предложения. За это — прошу прощения!

QUOTE
vidimo, посмотрите, как у вас выглядят другие пробелы, вот тестовая страница: http://www.robinlion...s/html4/spchars

На удивление все отображается правильно! "&thinsp" выглядит, как и должен, узким, и при этом неразрывен! К слову, все остальные тесты, тоже пройдены.
Забыл сказать, что информацию о пробелах я брал из википеди, и там "&thinsp" тоже кажется широким, как и на форуме >:-(
QUOTE
То есть, единственной альтернативой для тонких пробелов будет сам пробел и его html-обозначения, не содержащие &#, то есть    

Да, согласен! Я ответил также в прошлом сообщении, исключая все-таки, "&thinsp", по известной причине. Или оставляя все как есть, если вы считаете что разное отображение — это проблема самих юзеров.
QUOTE
при том, что   таки разрываемый пробел. Нет маленького и неразрывного.

Ну вот фиг его знает. У меня, что на форуме, что в тесте, везде строка держится. Может это опять только у меня, не знаю, но вот так, честное слово!
Хотя в википедии, да, неразрывность "&thinsp" не указана. Короче хз.
QUOTE
Вводить же другие обозначения пробелов мне бы не хотелось.

Да, да, да, ни в коем случае. Это я вас просто в заблуждение ввел первым постом. Думал что это специально заменяют широким, и что это так у всех. А т.к. "&thinsp" в правильном отображении — тонкий, то и потребности в других нет! Плохо только, он по разному отображается :-(
QUOTE
Неразрывный я ввожу, кстати, Alt+0160. А вот про короткий... какой код?

Если верить википеди:
Alt+0032 (&#32) Обычный пробел — нормально вводится.
Alt+0160 (&nbsp) Неразрывный пробел — тоже нормально.
Alt+8201 (&thinsp) Тонкий пробел — лично у меня выводится вот такой кружочек (○) везде где бы ни вводил.

Скажу еще на последок про — Alt+0160 (&nbsp) Неразрывный пробел.
>>Только вот он (у меня по крайней мере) все равно рвет строку после опубликования сообщения, а при составлении (на белом поле) — все нормально, строка держится!
А вот попробовал я его использовать в тестовой странице, и все ок., строку не рвет, отображается нормально!

P.S. А знаете что, мне этот &thinsp начинает нравится, он знаете ли всегда такой разный, неожиданный... с ним так интересно :-Р


#50 Wozrogdenec

Wozrogdenec

    Defendor of the Wastes

  • Пользователи
  • PipPipPip
  • 3 198 сообщений

Отправлено 01 мая 2009 - 19:21

QUOTE
Графоманов сейчас — ё-моё!
Бойко пишут за строчками строчки,
Но теряет у них буква «Ё»
Ей так нужные милые точки.
 
Обесточена «Ё», вот беда,
Точно дырочек нет у розетки.
Почему ж эту букву тогда
Люди пишут без точек нередко?
 
Шлют записку и надо гадать:
То ль она адресована Лене,
Или Лёне её передать —
Точек в имени нет из-за лени.
 
Если фразу «берёт он берет»
Написать без положенных точек,
То читающий не разберЕт,
Будет долго смотреть на листочек.
 
Стала буква такой же точь-в-точь
Как соседка её в алфавите.
Надо ей непременно помочь,
Чтоб не путали с «Е» в этом виде.
 
Вы заточенным карандашом,
Ручкой или на клавиатуре
Ставьте точки на «Ё». Хорошо?
Будьте точными в литературе!




Похожие темы Свернуть

  Название темы Форум Автор Статистика Последнее сообщение


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных

Рейтинг@Mail.ru