summaryrefslogtreecommitdiff
path: root/library/fontmanager.cpp
Unidiff
Diffstat (limited to 'library/fontmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/fontmanager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/library/fontmanager.cpp b/library/fontmanager.cpp
index adbe57b..28a5212 100644
--- a/library/fontmanager.cpp
+++ b/library/fontmanager.cpp
@@ -1,101 +1,103 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#ifdef QWS
21#include "fontmanager.h" 22#include "fontmanager.h"
22#include <qfile.h> 23#include <qfile.h>
23#include <stdlib.h> 24#include <stdlib.h>
24#include <qgfx_qws.h> 25#include <qgfx_qws.h>
25 26
26 27
27 28
28/* 29/*
29 QFontInfo doesn't work in QWS at the moment, 30 QFontInfo doesn't work in QWS at the moment,
30 otherwise we would just have used that to check 31 otherwise we would just have used that to check
31 the real values 32 the real values
32 33
33 For now, there are only two Unicode fonts in 34 For now, there are only two Unicode fonts in
34 the known universe... 35 the known universe...
35 36
36*/ 37*/
37 38
38bool FontManager::hasUnicodeFont() 39bool FontManager::hasUnicodeFont()
39{ 40{
40 QString fontDir = getenv("QTDIR") + QString("/lib/fonts/"); 41 QString fontDir = getenv("QTDIR") + QString("/lib/fonts/");
41 42
42 QString suffix; 43 QString suffix;
43 if ( qt_screen->isTransformed() ) { 44 if ( qt_screen->isTransformed() ) {
44 suffix += "_t"; 45 suffix += "_t";
45 QPoint a = qt_screen->mapToDevice(QPoint(0,0),QSize(2,2)); 46 QPoint a = qt_screen->mapToDevice(QPoint(0,0),QSize(2,2));
46 QPoint b = qt_screen->mapToDevice(QPoint(1,1),QSize(2,2)); 47 QPoint b = qt_screen->mapToDevice(QPoint(1,1),QSize(2,2));
47 suffix += QString::number( a.x()*8+a.y()*4+(1-b.x())*2+(1-b.y()) ); 48 suffix += QString::number( a.x()*8+a.y()*4+(1-b.x())*2+(1-b.y()) );
48 } 49 }
49 suffix += ".qpf"; 50 suffix += ".qpf";
50 51
51 return QFile::exists( fontDir+"cyberbit_120_50"+suffix ) 52 return QFile::exists( fontDir+"cyberbit_120_50"+suffix )
52 || QFile::exists( fontDir+"unifont_160_50"+suffix ) || 53 || QFile::exists( fontDir+"unifont_160_50"+suffix ) ||
53 QFile::exists( fontDir+"arial_140_50" + suffix ); 54 QFile::exists( fontDir+"arial_140_50" + suffix );
54} 55}
55 56
56QFont FontManager::unicodeFont( Spacing sp ) 57QFont FontManager::unicodeFont( Spacing sp )
57{ 58{
58 QString key; 59 QString key;
59 QString fontName; 60 QString fontName;
60 QString fontDir = getenv("QTDIR") + QString("/lib/fonts/"); 61 QString fontDir = getenv("QTDIR") + QString("/lib/fonts/");
61 62
62 int size; 63 int size;
63 if ( sp == Proportional ) { 64 if ( sp == Proportional ) {
64 fontName = "Arial"; 65 fontName = "Arial";
65 size=14; 66 size=14;
66 key = "arial_140_50"; 67 key = "arial_140_50";
67 } else { 68 } else {
68 fontName = "Unifont"; 69 fontName = "Unifont";
69 size=16; 70 size=16;
70 key = "unifont_160_50"; 71 key = "unifont_160_50";
71 } 72 }
72 73
73 QString suffix; 74 QString suffix;
74 if ( qt_screen->isTransformed() ) { 75 if ( qt_screen->isTransformed() ) {
75 suffix += "_t"; 76 suffix += "_t";
76 QPoint a = qt_screen->mapToDevice(QPoint(0,0),QSize(2,2)); 77 QPoint a = qt_screen->mapToDevice(QPoint(0,0),QSize(2,2));
77 QPoint b = qt_screen->mapToDevice(QPoint(1,1),QSize(2,2)); 78 QPoint b = qt_screen->mapToDevice(QPoint(1,1),QSize(2,2));
78 suffix += QString::number( a.x()*8+a.y()*4+(1-b.x())*2+(1-b.y()) ); 79 suffix += QString::number( a.x()*8+a.y()*4+(1-b.x())*2+(1-b.y()) );
79 } 80 }
80 suffix += ".qpf"; 81 suffix += ".qpf";
81 82
82 // if we cannot find it, try the other one 83 // if we cannot find it, try the other one
83 84
84 if ( !QFile::exists(fontDir+key+suffix) ) { 85 if ( !QFile::exists(fontDir+key+suffix) ) {
85 key = (sp == Fixed ) ? "arial_140_50" : "unifont_160_50"; 86 key = (sp == Fixed ) ? "arial_140_50" : "unifont_160_50";
86 if ( QFile::exists(fontDir+key+suffix) ) { 87 if ( QFile::exists(fontDir+key+suffix) ) {
87 fontName = (sp == Fixed) ? "Arial" : "Unifont"; 88 fontName = (sp == Fixed) ? "Arial" : "Unifont";
88 size = (sp == Fixed) ? 14 : 16; 89 size = (sp == Fixed) ? 14 : 16;
89 } else { 90 } else {
90 key = "cyberbit_120_50"; 91 key = "cyberbit_120_50";
91 if ( QFile::exists(fontDir+key+suffix) ) { 92 if ( QFile::exists(fontDir+key+suffix) ) {
92 fontName = "Cyberbit"; 93 fontName = "Cyberbit";
93 size = 12; 94 size = 12;
94 } else { 95 } else {
95 fontName = "Helvetica"; 96 fontName = "Helvetica";
96 size = 14; 97 size = 14;
97 } 98 }
98 } 99 }
99 } 100 }
100 return QFont(fontName,size); 101 return QFont(fontName,size);
101} 102}
103#endif