Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Java и шрифты (fonts), особенности работы в Linux 
:(
    Опции темы
sandello
Дата 13.6.2006, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Давно заметил, что буковки в IDEA и в Eclipse выглядят по разному. Никогда не обращал внимания, а сегодня решил свести к единому виду. Сразу скажу, что обломался.
Для начала выяснил, что список шрифтов, доступных из Eclipse и из IDEA - разный. В IDEA он значительно беднее.
Второе. В обеих средах выставил шрифт Courier New, 12pt. Но, в каждой среде этот шрифт выглядит по разному. В IDEA, он кроме всего прочего, существенно меньше.
Кто-то может прояснить ситуацию?

Пример:
Eclipse ~ 190kB
IDEA ~ 190 kB 


--------------------
user posted image
PM MAIL Jabber   Вверх
powerOn
Дата 13.6.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Выскажу лишь предположение: Eclipse вроде как на SWT держится, а IDEA на Swing - может сдесь какая загвоздка в прорисовке шрифта...
 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
sandello
Дата 6.12.2006, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Подниму свою старую тему.

Есть в IDEA в диалоге выбора шрифта кнопочка "показывать только моноширинные". Как можно узнать, моноширинный фонт или нет?
Далее, почему-то IDEA не показывает все шрифты. Точнее, нету в списке Courier New, Times New Roman
Eclipse показывает все и не предоставляет возможности выбрать моноширинные. Я вывел небольшой программой список известных шрифтов, там есть все шрифты. Информации, позволяющей отличить моноширинные от остальных, я не нашел :-(
Кто-нибудь представляет, почему IDEA так себя ведет?

Программулька
Код

import java.awt.Font;
import java.awt.GraphicsEnvironment;

public class Test0 {
  public static void main(String[] args) {
    GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
    String[] fontNames = env.getAvailableFontFamilyNames();
    System.out.println("Available Fonts:");
    for (int i = 0; i < fontNames.length; i++){
      System.out.println("  " + fontNames[i]);
    }
    
    Font fa[]=env.getAllFonts();
    for(Font f:fa){
      System.out.println(f);
    }
  }
}




--------------------
user posted image
PM MAIL Jabber   Вверх
hamsterKSU
Дата 13.1.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 401
Регистрация: 20.10.2006
Где: Украина, Херсон

Репутация: нет
Всего: 11



я только одного не могу понять вопрос. Толи тебя не устраивают шрифты в каждой отдельной иде или тебя не уст раивают отображение шрифтов в твоем апликейшене.
Если всетаки в твоем апликейшене, то шрифты зависят от платформы на сколько я знаю, просто язай какойто юникодный шрифт который есть и в винде и в линуксе. если проблема в этом конечто.
PM MAIL ICQ   Вверх
sandello
Дата 15.1.2007, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 18.5.2005
Где: Пермь

Репутация: нет
Всего: 2



Первое.


--------------------
user posted image
PM MAIL Jabber   Вверх
LSD
Дата 15.1.2007, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 38
Всего: 538



Скорее всего в IDEA забит некий список моноширинных шрифтов, который они и показывают.

А узнать какой шрифт, является моноширинным можно например так:
Код
final String alphabet = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
JFrame frame = new JFrame();
frame.pack();
FontRenderContext renderContext = ((Graphics2D) frame.getGraphics()).getFontRenderContext();
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
System.out.println("Available Fonts:");
Font fonts[] = env.getAllFonts();
for(Font font : fonts)
{
  if(font.canDisplayUpTo(alphabet) != -1)
    continue;
  font = font.deriveFont(24.0f);
  Rectangle2D wRectangle = font.getStringBounds("W", renderContext);
  Rectangle2D iRectangle = font.getStringBounds("I", renderContext);
  if(wRectangle.getWidth() == iRectangle.getWidth())
    System.out.println("[ " + font.getFontName() + " ] - monospaced");
  else
    System.out.println(font.getFontName());
}
frame.dispose();



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.