Preferences/PreferencesLexer.py

changeset 2503
3f1fa98e8e03
parent 2408
dc3a7c9d8f6e
child 2525
8b507a9a2d40
child 2964
84b65fb9e780
--- a/Preferences/PreferencesLexer.py	Tue Mar 19 19:13:18 2013 +0100
+++ b/Preferences/PreferencesLexer.py	Tue Mar 19 19:54:17 2013 +0100
@@ -11,6 +11,7 @@
 from PyQt4.Qsci import QsciLexer
 
 import Preferences
+import Globals
 
 
 class PreferencesLexerError(Exception):
@@ -69,6 +70,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
         import QScintilla.Lexers
         lex = QScintilla.Lexers.getLexer(language)
@@ -103,11 +112,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