diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
index 94e0df700ccb901d5663ae5319a92056ed7cfa47..4c5b20780da48d4e60a5638329e2cad0b4c478f2 100644
--- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
+++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
@@ -3,7 +3,7 @@ ActionUtils.java f16dd179005f48c747d2c9cf250b05e7225495cf GREEN
 ConstraintsBaseUIUtils.java 50c26b90a6ebe6c7f7861092dac5ebc1f3fc0ce3 GREEN
 DragAndDropBaseUtils.java 4308b2151a7075adeb4f7e7246859d421150415b GREEN
 EllipseLayoutUIUtils.java 271e287f1e5befb03a9d115a98e22453056521e0 GREEN
-FontUtils.java fe542b8d8bfebeaf19c09f2b36d7b0f8cfb3b63f GREEN
+FontUtils.java a167a05bdaa8da9853705cc5134f30f6d81bc9f2 YELLOW
 GCStateManager.java 983973a92376b5c757c1253b32e33d0666ccdf7b GREEN
 LayoutDataUIUtils.java 8034bbb9f595092f56807525abcbf23fd5d01428 GREEN
 PropertiesViewUtils.java d345b4501c4092228edf1c98e0189317d53aaf22 GREEN
diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/FontUtils.java b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/FontUtils.java
index fe542b8d8bfebeaf19c09f2b36d7b0f8cfb3b63f..a167a05bdaa8da9853705cc5134f30f6d81bc9f2 100644
--- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/FontUtils.java
+++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/FontUtils.java
@@ -15,6 +15,10 @@
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.base.ui.utils;
 
+import static org.fortiss.tooling.base.utils.SystemUtils.isLinuxPlatform;
+import static org.fortiss.tooling.base.utils.SystemUtils.isMacOSXPlatform;
+import static org.fortiss.tooling.base.utils.SystemUtils.isWindowsPlatform;
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.FontData;
@@ -38,9 +42,25 @@ public class FontUtils {
 	public static FontData VERDANA_16PT = new FontData("Verdana", 16, SWT.NORMAL);
 	/** Verdana 14pt font. */
 	public static FontData VERDANA_18PT = new FontData("Verdana", 18, SWT.NORMAL);
+	/** "Code" 11pt font. */
+	public static FontData CODEFONT_11PT = createCodeFontData(11);
 
 	/** Creates a {@link Font} from the given {@link FontData}, which MUST be disposed after use. */
 	public static Font createFont(FontData fontData) {
 		return new Font(Display.getCurrent(), fontData);
 	}
+
+	/** Returns the {@link FontData} used to represent code (OS specific). */
+	private static FontData createCodeFontData(int height) {
+		String font = "Courier";
+		if(isMacOSXPlatform()) {
+			font = "Monaco";
+		} else if(isWindowsPlatform()) {
+			font = "Consolas";
+		} else if(isLinuxPlatform()) {
+			font = "Monospace";
+		}
+
+		return new FontData(font, height, SWT.NORMAL);
+	}
 }
diff --git a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings
index a502f47bf824c1edce0bead963b5b54f745c995b..83fd00a60c96f3105e2fb7a7b81b9ea414f481b1 100644
--- a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings
+++ b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/.ratings
@@ -13,6 +13,6 @@ PointUtils.java b21c92cc8e80ece9d87ede8a750f4de314379743 GREEN
 PointsUtils.java bad69811c59004948929f6a57edd5a79c0bf8643 GREEN
 RectangleLayoutUtils.java cdd61d162761da7f3e1d3512264135b9b0d564ff GREEN
 SnapToGridUtils.java 413785d7a8655db31a129b6f821e1d5f859aa726 GREEN
-SystemUtils.java b36590c6934413cd2408de1321af5254dc263e11 GREEN
+SystemUtils.java 8546c23e43551a58f4aca273015c496546793611 YELLOW
 VisualizationModelElementFactory.java 18e67450ee4cf4a03dc88a10becb0fb6ce4c1bad GREEN
 ZoomUtils.java a339613fde18281bed3b55b529a053d348545bc7 GREEN
diff --git a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/SystemUtils.java b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/SystemUtils.java
index b36590c6934413cd2408de1321af5254dc263e11..8546c23e43551a58f4aca273015c496546793611 100644
--- a/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/SystemUtils.java
+++ b/org.fortiss.tooling.base/src/org/fortiss/tooling/base/utils/SystemUtils.java
@@ -18,13 +18,41 @@ package org.fortiss.tooling.base.utils;
 /**
  * Utility functions that deal with the underlying system.
  * 
- * @author ratiu
+ * @author ratiu, barner
  */
 public class SystemUtils {
 
-	/** Returns true if we are in a Windows system. */
-	public static boolean isWindowsOperatingSystem() {
-		return System.getProperty("os.name").startsWith("Windows");
+	/** Predicate if the current platform is Windows. */
+	public static boolean isWindowsPlatform() {
+		String osName = System.getProperty("os.name");
+		return osName != null && osName.contains("Windows");
+	}
+
+	/** Predicate if the current platform is Linux. */
+	public static boolean isLinuxPlatform() {
+		String osName = System.getProperty("os.name");
+		return osName != null && osName.contains("Linux");
+	}
+
+	/** Predicate if the current platform is Mac OS X. */
+	public static boolean isMacOSXPlatform() {
+		String osName = System.getProperty("os.name");
+		return osName != null && osName.contains("Mac OS X.");
+	}
+
+	/** Predicate if the current <b>Java VM</b> architecture is 64 bit. */
+	public static boolean isVm64BitArch() {
+		String osArch = System.getProperty("os.arch");
+		return osArch != null && osArch.contains("64");
+	}
+
+	/** Predicate if the current <b>OS</b> architecture is 64 bit. */
+	public static boolean isOs64BitArch() {
+		if(isWindowsPlatform()) {
+			return System.getenv("ProgramFiles(x86)") != null;
+		}
+
+		return isVm64BitArch();
 	}
 
 	/**
@@ -32,7 +60,7 @@ public class SystemUtils {
 	 * interpreted, then an empty string is returned.
 	 */
 	public static String interpretProcessExitValues(int exitValue) {
-		if(!isWindowsOperatingSystem()) {
+		if(!isWindowsPlatform()) {
 			switch(exitValue) {
 				case 126:
 					return "Command not found";
diff --git a/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/.ratings b/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/.ratings
index d617f8df456cfee5879394f7906d8c84cb6cf1bb..e6a1806eeac7ef6001889d35cc5967acc30ab32c 100644
--- a/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/.ratings
+++ b/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/.ratings
@@ -1 +1 @@
-ToolingGraphicsGLUIActivator.java 86df10a01835d65709fb655622a1feb2b1a44948 GREEN
+ToolingGraphicsGLUIActivator.java 1775f5ee6932438fb7fe6cf15279a7595fdedb53 YELLOW
diff --git a/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/ToolingGraphicsGLUIActivator.java b/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/ToolingGraphicsGLUIActivator.java
index 86df10a01835d65709fb655622a1feb2b1a44948..1775f5ee6932438fb7fe6cf15279a7595fdedb53 100644
--- a/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/ToolingGraphicsGLUIActivator.java
+++ b/org.fortiss.tooling.graphicsGL.ui/src/org/fortiss/tooling/graphicsGL/ui/ToolingGraphicsGLUIActivator.java
@@ -17,6 +17,7 @@ package org.fortiss.tooling.graphicsGL.ui;
 
 import static java.lang.System.mapLibraryName;
 import static org.eclipse.core.runtime.FileLocator.toFileURL;
+import static org.fortiss.tooling.base.utils.SystemUtils.isOs64BitArch;
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -46,12 +47,7 @@ public class ToolingGraphicsGLUIActivator extends AbstractUIPlugin {
 
 		System.out.println("   Preloading native LWJGL libraries.");
 
-		boolean is64bit;
-		if(System.getProperty("os.name").contains("Windows")) {
-			is64bit = (System.getenv("ProgramFiles(x86)") != null);
-		} else {
-			is64bit = (System.getProperty("os.arch").indexOf("64") != -1);
-		}
+		boolean is64bit = isOs64BitArch();
 
 		// preload JEMALLOC
 		String jemallocLibPath = loadPluginLocalLibrary(getBundle(), "jemalloc", is64bit);