Preferences/PreferencesLexer.py

branch
5_3_x
changeset 2505
a8cee0deff43
parent 2302
f29e9405c851
child 3163
9f50365a0870
diff -r 19e46c77e006 -r a8cee0deff43 Preferences/PreferencesLexer.py
--- a/Preferences/PreferencesLexer.py	Tue Mar 19 19:13:18 2013 +0100
+++ b/Preferences/PreferencesLexer.py	Tue Mar 19 19:54:17 2013 +0100
@@ -13,6 +13,7 @@
 import QScintilla.Lexers
 
 import Preferences
+import Globals
 
 
 class PreferencesLexerError(Exception):
@@ -71,6 +72,14 @@
         """
         super().__init__(parent)
         
+        # These default font families are taken from QScintilla
+        if Globals.isWindowsPlatform():
+            self.__defaultFontFamily = "Courier New"
+        elif Globals.isMacPlatform():
+            self.__defaultFontFamily = "Courier"
+        else:
+            self.__defaultFontFamily = "Bitstream Vera Sans Mono"
+        
         # instantiate a lexer object for the given language
         lex = QScintilla.Lexers.getLexer(language)
         if lex is None:
@@ -104,11 +113,15 @@
                 self.papers[i] = lex.defaultPaper(i)
                 self.eolFills[i] = lex.defaultEolFill(i)
                 self.fonts[i] = lex.defaultFont(i)
+                # Override QScintilla's default font family to
+                # always use a monospaced font
+                self.fonts[i].setFamily(self.__defaultFontFamily)
                 
                 self.defaultColours[i] = lex.defaultColor(i)
                 self.defaultPapers[i] = lex.defaultPaper(i)
                 self.defaultEolFills[i] = lex.defaultEolFill(i)
                 self.defaultFonts[i] = lex.defaultFont(i)
+                self.defaultFonts[i].setFamily(self.__defaultFontFamily)
                 
                 self.ind2style[index] = i
                 index += 1

eric ide

mercurial