OberonCore
https://forum.oberoncore.ru/

Неразрывный пробел и подчеркивание пробела в Блэкбокс
https://forum.oberoncore.ru/viewtopic.php?f=131&t=4242
Страница 2 из 3

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 12:12 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Если бы это было просто, то уже поправили бы :)

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 13:05 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Не поправили не потому, что сложно, а потому что нафик не надо.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 13:21 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Иван Кузьмицкий писал(а):
Не поправили не потому, что сложно, а потому что нафик не надо.

Зачем участвовать в обсуждении, если вам "нафик не надо"?

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 13:30 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

ilovb писал(а):
Иван Кузьмицкий писал(а):
Не поправили не потому, что сложно, а потому что нафик не надо.

Зачем участвовать в обсуждении, если вам "нафик не надо"?
Я, собственно, уже собирался уходить. Вы абсолютно правы, это просто обсуждение и ничего больше.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 13:32 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

На первый взгляд лечится так: https://docs.google.com/document/d/1ite ... sp=sharing

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 14:09 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

ilovb писал(а):
На первый взгляд лечится так: https://docs.google.com/document/d/1ite ... sp=sharing
Ага, пробел подчёркивается. Косяков в работе текста пока что не видно.

P.S. Могут быть ещё проблемы из-за TextSetters, при расчёте ограничивающего прямоугольника. Пока что это только предположение, увидел там много мест, где анализируется пробел и nbsp.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 14:19 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

В некоторых местах лишние пробелы появляются.

ps В руководстве пользователя к подсистеме Text хорошо видно.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 14:45 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Не работает. Глючит при редактировании текста. Нужно править логику набора изображения строки.

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 14:50 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

ilovb писал(а):
Не работает. Глючит при редактировании текста. Нужно править логику набора изображения строки.
Как воспроизвести? У меня вроде норм. Да, BB 1.6 rc6.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 14:52 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

В любом тексте ставим курсор в произвольном месте и зажимаем пробел :)

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 14:56 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Штатное поведение, не вижу ничего странного.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 14:59 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Сейчас видео сделаю.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 15:08 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

http://www.youtube.com/watch?v=KhBNvKOu ... e=youtu.be

прим.: перезалил видео

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 15:23 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

У меня такого нет. Видимо, это проявляется в BB1.5 и на русских текстах (у меня дока английская). Хотя надо сказать, я давно замечал, что в моей сборке BB1.6 с русскими символами иногда не всё в порядке, когда выбран наклонный стиль. А сейчас стало похуже и сильно заметно - позиция пробела сместилась на пару символов от курсора (именно для русских букв в наклоне).

Корень проблемы скорее всего в сеттере, ведь расчёт длины строки делается именно в нём.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 15:35 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Проверил. Действительно, на английских текстах глюков вроде нет.

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 15:43 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Наверное, этот вопрос достоин выделения в отдельную ветку. Порешать его отдельно.

Автор:  ilovb [ Воскресенье, 03 Февраль, 2013 15:45 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Согласен. Можно вырезать начиная с этого сообщения:
viewtopic.php?f=114&t=3836&start=100#p77746

Автор:  Иван Кузьмицкий [ Воскресенье, 03 Февраль, 2013 18:07 ]
Заголовок сообщения:  Re: Красноярская сборка BlackBox 1.6rc6

Вот, кстати, как у меня это происходит: http://youtu.be/AwLWPTmmgGc

Автор:  ilovb [ Пятница, 22 Февраль, 2013 10:45 ]
Заголовок сообщения:  Re: Неразрывный пробел и подчеркивание пробела в Блэкбокс

Похоже что глючит только когда стоит выравнивание по ширине.

Автор:  ilovb [ Пятница, 22 Февраль, 2013 12:25 ]
Заголовок сообщения:  Re: Неразрывный пробел и подчеркивание пробела в Блэкбокс

Разобрался. Глюк проявляется на "резиновых" пробелах при выравнивании текста по ширине.

WinAPI не умеет рисовать текст с выравниванием по ширине. Следовательно нужно рисовать отдельные слова и растягивать/сжимать пробелы между ними (что и сделано в BB):
Код:
   PROCEDURE (rd: StdReader) AdjustWidth (start, pos: INTEGER; IN box: LineBox; VAR w: INTEGER);
      VAR i: INTEGER; form: SET;
   BEGIN
      IF box.adj & (pos >= start + box.adjOff) THEN
         form := box.ruler.style.attr.opts * adjustMask;
         IF (form = blocked) & (rd.string[0] = " ") THEN
            INC(w, box.adjW DIV box.spaces)
         ELSIF (form # blocked) & (rd.string[0] = tab) THEN
            INC(w, box.adjW)   (* is this correct ??? *)
         END
      END;
      i := rd.tabIndex;   (* rd.string[0] = tab  =>  i >= 0 *)
      IF (rd.string[0] = tab) & (i < box.ruler.style.attr.tabs.len) THEN
         w := box.tabW[i]
      END
   END AdjustWidth;


Как это победить не знаю.

Страница 2 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/