Я использую TLF для размещения словарной статьи.Он работает довольно хорошо, но мне нужно более детальное управление макетом, чем я могу добиться, задав свойства стиля в FlowElements, в первую очередь для горизонтального разнесения и установки отступов в SpanElements независимо от их родителей.
Решение, котороеНаиболее перспективным представляется разделение различных элементов записи на отдельные контейнеры и передача текста через них путем постепенного добавления новых контейнеров и ContainerControllers для каждого нового элемента с размером, установленным для их границ содержимого, чтобы текст перетек в каждый новый контейнер.
Это ПОЧТИ работает, но текст будет правильно перетекать в следующий контейнер, только если между двумя разделами текста будет вставлен дополнительный разрыв строки, который должен идти в разные контейнеры.Без разрыва строки контейнеры имеют правильный размер, но текст не отображается.
В этих примерах я добавил границы для спрайтов контейнера, чтобы вы могли видеть, где они рисуются.Помимо разрыва строки, текст точно такой же.Поле слога является SpanElement внутри ParagraphElement.Метка и текст произношения являются отдельными SpanElements внутри другого ParagraphElement.
Без разрыва строки:
С разрывом строки между 'rab-bit' и 'Sounds Like: ':
С разрывом строки ПОСЛЕ' rae biht '(предварительный разрыв строки не оказывает влияния):
Как видите, произношение не отображается, если после текста не добавлен разрыв строки, но выравнивание отключено.Кажется, что никакая комбинация разрывов строк не выровняет их правильно.
Есть идеи?Эти ошибки в TLF?Должен ли я попробовать другой метод?Мне бы очень хотелось, чтобы весь текст можно было выбирать как единое целое, и мне нравится лучший рендеринг и контроль, которые предлагает TLF, но мне также нужна гибкость компоновки.Я предполагаю, что возможно, что я мог бы взломать что-то подобное, с помощью разрывов строк и смещений позиционирования, но это, конечно, не было бы красиво (или ремонтопригодно).Спасибо за чтение.