Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Отображение хитрых символов


Автор: yaja 26.5.2005, 22:04
Столкнулся с одной серьезной проблемой smile
Пришел сдавать курсовик (апплет написанный на java), который что-то визуализирует. В процессе визуализации он должен выводить симолы типа бесконечность (код "\u03C0"), и практически везде он их и выводит. Однако на компе препода он вывел сплошные квадратики. В программе я рисую этот символ следующим образом
Код

            message = new Message("\u03C0", (look.getAspectStatus(style)) ? look.getAspect(style) : 0.5);
            message.drawAtCenter(g, stepx + indent.x, indent.y);

Сижу теперь и парюсь, как вывести этот символ так, чтобы он везде был бесконечностью, а не квадратом. Буду рад любой помощи smile smile

Автор: LSD 26.5.2005, 22:37
Попробуй поставить в качестве шрифта LucidaSansUnicode.

Автор: yaja 27.5.2005, 17:46
Цитата
Попробуй поставить в качестве шрифта LucidaSansUnicode.

Нельзя smile smile Понимаются только шрифты Serif, SansSerif, Symbol, Monospaced
Еще очень интересно из-за чего такой баг выскочил?? Вроде бы unicode, никаких проблем не должно быть...

Автор: LSD 27.5.2005, 18:00
Цитата(yaja @ 27.5.2005, 18:46)
Нельзя smile smile Понимаются только шрифты Serif, SansSerif, Symbol, Monospaced

Это еще почему? В Sun JVM идет комплект шрифтов и Lucida Sans будет доступен независимо от того какие шрифты стоят в системе.

Цитата(yaja @ 27.5.2005, 18:46)
Еще очень интересно из-за чего такой баг выскочил?? Вроде бы unicode, никаких проблем не должно быть...

Проблема в том, что шрифт может содержать не весь диапазон юникода, а только его часть (вернее так всегда и происходит, например иероглифы как правило не включают, чтобы не увеличивать размер файла). Кстати символ \u03C0 это вроде пи а не бесконечность.

Автор: yaja 27.5.2005, 22:27
Цитата
Кстати символ \u03C0 это вроде пи а не бесконечность.

smile smile кажется я обложался...
Цитата
В Sun JVM идет комплект шрифтов и Lucida Sans будет доступен независимо от того какие шрифты стоят в системе.

Там все хитро. Основные настройки проекта задаются в xml'ке, в частности шрифт. А для работы с файлом написан класс, который почему-то разбирает только перечисленные шрифты (писал это не я и возможности исправить нет smile )
Цитата
Проблема в том, что шрифт может содержать не весь диапазон юникода, а только его часть (вернее так всегда и происходит, например иероглифы как правило не включают, чтобы не увеличивать размер файла).

А как тогда надо поступать в таких ситуациях как у меня? Очень странно, если честно. А какой размер тогда у символа (в битах)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)