Summary: | steve.ttf font does not include Icelandic characters | ||
---|---|---|---|
Product: | [Applications] blinken | Reporter: | Bj <nifgraup> |
Component: | general | Assignee: | Albert Astals Cid <aacid> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jlp |
Priority: | NOR | ||
Version: | 0.1 | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Bj
2005-12-15 19:54:25 UTC
Hi, true, the problem is that i'm not a font designer, well, i'm just horrible in anything that involves proper drawing, so we have two possible solutions: a) You or someone else modifiy the steve.ttf font to include characters b) I add an option so that you (when translating) can indicate blinken not to use steve.ttf but system default font. What do you think? Are you an artistic type of user? If so i can give a few directions on how to produce the missing glyphs. Same problem here with Slovenian translation. I think that this additional option to control the font used would be very usefull. Some pointers on how to modify the font would also be great. SVN commit 512902 by aacid: The "easy" fix for steve.ttf not having "strange" characters BUGS: 118399 M +21 -11 blinken.cpp M +3 -0 blinken.h --- branches/KDE/3.5/kdeedu/blinken/src/blinken.cpp #512901:512902 @@ -74,6 +74,10 @@ m_helpMenu = new KHelpMenu(this, kapp->aboutData()); for (int i = 0; i < 3; i++) m_overLevels[i] = false; + + QString aux = i18n("If the Steve font that is used by bliken by default to show status messages does not support any of the characters of your language, please translate that message to 1 and KDE standard font will be used to show the texts, if not translate it to 0", "0"); + + m_alwaysUseNonCoolFont = aux == "1"; } blinken::~blinken() @@ -158,11 +162,14 @@ p.drawLine(186, 227, 199, 214); } #endif - p.drawRect(m_fontRect); - if (blinkenSettings::customFont()) + if (!m_alwaysUseNonCoolFont) { - p.drawLine(437, 214, 450, 227); - p.drawLine(437, 227, 450, 214); + p.drawRect(m_fontRect); + if (blinkenSettings::customFont()) + { + p.drawLine(437, 214, 450, 227); + p.drawLine(437, 227, 450, 214); + } } // draw the options' text @@ -182,10 +189,13 @@ p.drawText(area, Qt::AlignCenter, sounds); m_soundRect = m_soundRect.unite(area); #endif - area = p.boundingRect(QRect(), Qt::AlignAuto, font); - area.moveBy(426 - area.width(), 221 - (area.height() / 2)); - p.drawText(area, Qt::AlignCenter, font); - m_fontRect = m_fontRect.unite(area); + if (!m_alwaysUseNonCoolFont) + { + area = p.boundingRect(QRect(), Qt::AlignAuto, font); + area.moveBy(426 - area.width(), 221 - (area.height() / 2)); + p.drawText(area, Qt::AlignCenter, font); + m_fontRect = m_fontRect.unite(area); + } p.setFont(oFont); p.setPen(oPen); @@ -279,7 +289,7 @@ hsd->showLevel(1); m_updateButtonHighlighting = true; } - else if (m_showPreferences && m_fontRect.contains(e -> pos())) + else if (m_showPreferences && m_fontRect.contains(e -> pos()) && !m_alwaysUseNonCoolFont) { blinkenSettings::setCustomFont(!blinkenSettings::customFont()); blinkenSettings::writeConfig(); @@ -594,7 +604,7 @@ } QFont f; - if (blinkenSettings::customFont()) f = QFont("Steve"); + if (blinkenSettings::customFont() && !m_alwaysUseNonCoolFont) f = QFont("Steve"); p.setFont(f); f.setPointSize(fontUtils::fontSize(p, text, 380, 30)); p.setFont(f); @@ -751,7 +761,7 @@ haveToUpdate = true; } - if (m_showPreferences && m_fontRect.contains(p)) + if (m_showPreferences && m_fontRect.contains(p) && !m_alwaysUseNonCoolFont) { m_overFont = true; haveToUpdate = true; --- branches/KDE/3.5/kdeedu/blinken/src/blinken.h #512901:512902 @@ -76,6 +76,9 @@ // if should update the highlighting after the next repaint bool m_updateButtonHighlighting; + // use always the non-cool font? + bool m_alwaysUseNonCoolFont; + blinkenGame::color m_highlighted; QTimer *m_unhighlighter; |