PDA

Просмотр полной версии : Как укратить табуляцию?


vikingcompany
23.12.2008, 15:00
Динамически создаю TreeView и заполняю его ветви.
В каждую из них записываю по 2 слова, разнесённых на некоторое расстояние так, чтобы при раскрытии нескольких ветвей сразу, слова образовывали ровные столбики.


createClassObject(mx.controls.Tree, "spesifications", 0);

spesifications.dataProvider = new XML
(
+ "<node label='слово_1 слово_2'/>"
+ "<node label='слово_3 слово_4'/>"
+ "<node label='слово_5 слово_6'/>"
)

Проблема - при запуске мувика на разных компьютерах слова почему-то смещаются и столбики сбиваются.
Подскажите, в чём природа явления и как это обойти?
Разнос слов я выполнял табуляцией.

silin
23.12.2008, 15:38
возможно для каких-то шрифтов слово_1 умещается в размер таба, а слово_5 уже нет..
попробуй поиграться с TextFormat.tabStops

vikingcompany
03.01.2009, 17:44
А как приминить TextFormat.tabStops непосредственно к TreeView?
К простому тексту - получается, а к дереву - ну ни в какую.
Это из-за XML, да?

Добавлено через 49 часов 24 минуты
Ну, народ! Неужели никто не подскажет?!


createClassObject(mx.controls.Tree, "MyTree", 0);
MyTree.dataProvider =
"<node label='ве \t твь_1'/>" +
"<node label='ветвь_2'/>";

Как заставить символ "\t" работать и задать ему размер?

silin
05.01.2009, 23:05
мне кажется надо смотреть в сторону CellRenderer
но подсказать что-то конкретное не могу - нет никакого желания ковыряться с этой версией компонентов, сори

vikingcompany
06.01.2009, 12:10
Ну что Вы, и на этом спасибо!
Во всяком случая мне удалось выяснить природу явления, а это, согласитесь, очень важно.
Но если "для каких-то шрифтов слово_1 умещается в размер таба, а слово_5 уже нет",
тогда я попытаюсь попробовать ДРУГОЙ шрифт.

aFriend
16.01.2009, 13:07
Блин, у меня та же проблема. Что делать? Что удалось со шрифтами???

... надо смотреть в сторону CellRenderer
Ой, не знаю. Уж больно это дремучий путь, по моему.

vikingcompany
16.01.2009, 14:49
Удалось следующее:
- выяснил, что смещение при открытии на разных компьютерах
зависит от разрешения их экранов, а не от браузера (как я думал вначале).
- подобрать шрифт, которому табуляция была бы пофиг - не удалось.
Думаю, такого вообще не существует.

Зато подобрал шрифты, которые не подвержены смещению при отступе пробелом
(такой используеться в редакторе кода самого Flash, обратите внимание).
Покопавшись в этом направлении, нашёл 5 таких же -
Lucida Console, _typewriter, Consolas, Courier New (эти из стандартных),
и ER Kurier 1251 - друг подсказал.
Таким образом, проблема как бы решена.
Расстраивает лишь то, что все эти шрифты уж больно жёсткие - "механические" что ли.
Нет в них красивых и плавных.
Если кто знает подобный и красивый шрифт - в долгу не останусь.

etc
16.01.2009, 15:00
Расстраивает лишь то, что все эти шрифты уж больно жёсткие - "механические" что ли.
Нет в них красивых и плавных.
Если кто знает подобный и красивый шрифт - в долгу не останусь.
Эти шрифты называются моноширинными. Они всё такие.

vikingcompany
16.01.2009, 18:20
Эти шрифты называются моноширинными.
Опа. Целый класс получается - http://www.paratype.ru/help/term/terms.asp?code=227

Эти шрифты называются моноширинными. Они всё такие.
Не уверен - http://www.fonts.com/findfonts/searchresults.htm?st=4&cid=Monospaced. Только вот цены шокируют.

aFriend
18.01.2009, 02:22
А вот это тема!
Я тут нашёл http://www.paratype.ru/btstore/default.asp?fcode=343&search=Monospace+821+Cyrillic
Не такой уж и дорогой.
Ну а если из халявных - мне нравиться Andale Mono.

vikingcompany
05.02.2009, 01:16
Использую Andale Mono. Прекрасный шрифт - мне нравится!
Только вот на компьютерах, где этот шрифт не установлен, он почему-то, заменяется на стандартный.
То есть мувик его в себе не содержит, хотя с другими (например a_Concepto) такой проблемы нет.
Подскажите - почему так происходит?

К стати, не смотря на одинаковое расширение файла (*.ttf) иконки их выглядят по-разному -
у одного - две буквы Т, у Andale Mono - буква О.
Что это значит?

scarbo
05.02.2009, 01:24
Только вот на компьютерах, где этот шрифт не установлен, он почему-то, заменяется на стандартный.
Что даже если встроен в флешку?
Про иконки О иконка (http://ru.wikipedia.org/wiki/OpenType)
Т иконка (http://ru.wikipedia.org/wiki/TrueType)

vikingcompany
06.02.2009, 18:19
Встраивать не пробовал - не рулю я эту тему. Как это сделать?

scarbo
06.02.2009, 18:23
Ну самый простой и нерекомендуемый способ(из-за веса),через библиотеку.Параметр "Новый шрифт",выбрать нужный и потом его указать или в текстовом поле или в TextFormat(),для текста не забыть поставить embedFonts = true.
Самый нормальный способ здесь описан (http://noregret.org/tutor/fonts/)

qazwsx
06.02.2009, 18:42
FixedSys :)

vikingcompany
11.02.2009, 18:01
Fixed что?

Включил в библиотеку: LIBRARY -> New Font... -> выбрал нужный.
Для Tree прописал
myTree.setStyle("fontFamily", "Andale Mono font");
myTree.setStyle("embedFonts", true);
Итог - текст вообще не отображается. Вот, нашёл в help`е:
"If this style is set to true and fontFamily does not refer to an embedded font, no text is displayed".