Version: 0.1 (using KDE KDE 3.5.0) Installed from: Gentoo Packages OS: Linux The steve.ttf font does not include the characters þ and ð, making the program very hard to translate into Icelandic.
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;