Ширина текста

Есть некий грид с столбцами, в которых текст выведен каким-то шрифтом1.Мне надо тоже самое отобразить в дуругом гриде, но шрифтом2.При этом изменить ширину колонок в соответсвeтствующей пропорции, т.е. грубо говоря чтобы количество видимых символов в одинаковых ячейках обоих гридов было одинаково.Как рассчитать коэффициент изменения? У меня ничего более умного как получить ширину при помощи TextWidth и сравнить. Но это, я так понимаю будет неправильно.
9 ответов

... Но это, я так понимаю будет неправильно.
Отчего неправильно?С изменением шрифта изменяется ширина символов, а проверить, на сколько изменилась ширина, мне представляется только как сравнить TextWidth у разных Canvas-ов.


И для каждой записи пересчитывать?В одной записи стоит "1111" а в другой "WWWWW". Имхо коэффициент получится разный. Таким образом ндо сначала найти самую "широкую" запись, рассчитать для нее, а остальные гарантированно влезут.А подругому никак?


Не просто "самую широкую", а самую широкую шрифтом2.Теоритически, шрифты имеют разные начертания букв, а две почти одинаковые строки могут иметь в одном шрифте бОльшую первую, в другом - вторую.


Не просто "самую широкую", а самую широкую шрифтом2.Теоритически, шрифты имеют разные начертания букв, а две почти одинаковые строки могут иметь в одном шрифте бОльшую первую, в другом - вторую.
И не просто шрифтом два, но и шрифтом 1


И не просто шрифтом два, но и шрифтом 1
Зачем? Ширина столбца шрифтом1 заранее известна. Или я фразы не понял?


Зачем? Ширина столбца шрифтом1 заранее известна. Или я фразы не понял?
Не обязательно известна, колонка может быть сжата или растянута, но если так, то в предпосылке не сказано, что бы все символы помещались как в первом, так и во втором гриде, там вообще только про количество видимых символов, а задача много сложнее, из-за разных метрик шрифтов, если вообще решаема в общем случае, в частном конечно решаемо, но сложно и не одназначно.


....в частном конечно решаемо, но сложно и не одназначно.
причем применение этого частного случая лично я не вижу....


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


Ну... имелось ввиду, чтоб не меньше символов помещалось :-) чем в первом гриде.