2to3 --fix=ne
diff --git a/Lib/fontTools/cffLib.py b/Lib/fontTools/cffLib.py
index b876c50..d754456 100644
--- a/Lib/fontTools/cffLib.py
+++ b/Lib/fontTools/cffLib.py
@@ -401,7 +401,7 @@
 			xmlWriter.newline()
 	
 	def fromXML(self, (name, attrs, content)):
-		if name <> "CharString":
+		if name != "CharString":
 			return
 		subr = psCharStrings.T2CharString()
 		subr.fromXML((name, attrs, content))
@@ -441,7 +441,7 @@
 	compilerClass = FDArrayIndexCompiler
 
 	def fromXML(self, (name, attrs, content)):
-		if name <> "FontDict":
+		if name != "FontDict":
 			return
 		fontDict = FontDict()
 		for element in content:
@@ -586,7 +586,7 @@
 			if isinstance(element, basestring):
 				continue
 			name, attrs, content = element
-			if name <> "CharString":
+			if name != "CharString":
 				continue
 			fdID = -1
 			if hasattr(self, "fdArray"):
@@ -868,7 +868,7 @@
 		SID = getNameID(name, strings)
 		if first is None:
 			first = SID
-		elif end + 1 <> SID:
+		elif end + 1 != SID:
 			nLeft = end - first
 			if nLeft > 255:
 				format = 2
@@ -1063,7 +1063,7 @@
 		code = m.get(name, -1)
 		if first is None:
 			first = code
-		elif end + 1 <> code:
+		elif end + 1 != code:
 			nLeft = end - first
 			ranges.append((first, nLeft))
 			first = code
diff --git a/Lib/fontTools/fondLib.py b/Lib/fontTools/fondLib.py
index 845d2c0..b37a881 100644
--- a/Lib/fontTools/fondLib.py
+++ b/Lib/fontTools/fondLib.py
@@ -33,7 +33,7 @@
 	
 	def __init__(self, theRes, mode = 'r'):
 		self.ID, type, self.name = theRes.GetResInfo()
-		if type <> 'FOND':
+		if type != 'FOND':
 			raise ValueError, "FOND resource required"
 		self.FOND = theRes
 		self.mode = mode
@@ -68,7 +68,7 @@
 		self.fondClass = flags
 	
 	def save(self, destresfile = None):
-		if self.mode <> 'w':
+		if self.mode != 'w':
 			raise error, "can't save font: no write permission"
 		self._buildfontassociationtable()
 		self._buildoffsettable()
@@ -144,7 +144,7 @@
 		header = header + struct.pack(">h", self.ffVersion)
 		if DEBUG:
 			print "header is the same?", self._rawheader == header and 'yes.' or 'no.'
-			if self._rawheader <> header:
+			if self._rawheader != header:
 				print len(self._rawheader), len(header)
 		self._rawheader = header
 	
@@ -170,7 +170,7 @@
 		
 		if DEBUG:
 			print "font association table is the same?", self._rawfontassociationtable == data and 'yes.' or 'no.'
-			if self._rawfontassociationtable <> data:
+			if self._rawfontassociationtable != data:
 				print len(self._rawfontassociationtable), len(data)
 		self._rawfontassociationtable = data
 	
@@ -192,7 +192,7 @@
 	
 	def _getboundingboxtable(self):
 		self.boundingBoxes = None
-		if self._rawoffsettable[:6] <> '\0\0\0\0\0\6':  # XXX ????
+		if self._rawoffsettable[:6] != '\0\0\0\0\0\6':  # XXX ????
 			return
 		boxes = {}
 		data = self._rawoffsettable[6:]
@@ -245,7 +245,7 @@
 		tables.sort()
 		for stylecode, table in tables:
 			data = data + struct.pack('>h', stylecode)
-			if len(table) <> (3 + self.ffLastChar - self.ffFirstChar):
+			if len(table) != (3 + self.ffLastChar - self.ffFirstChar):
 				raise error, "width table has wrong length"
 			for width in table:
 				data = data + struct.pack('>h', width)
@@ -296,7 +296,7 @@
 		
 		if DEBUG:
 			print "kerning table is the same?", self._rawkerningtables == data and 'yes.' or 'no.'
-			if self._rawkerningtables <> data:
+			if self._rawkerningtables != data:
 				print len(self._rawkerningtables), len(data)
 		self._rawkerningtables = data
 	
@@ -445,7 +445,7 @@
 def splitname(name, famname = None):
 	# XXX this goofs up MM font names: but how should it be done??
 	if famname:
-		if name[:len(famname)] <> famname:
+		if name[:len(famname)] != famname:
 			raise error, "first part of name should be same as family name"
 		name = name[len(famname):]
 		split = [famname]
@@ -466,7 +466,7 @@
 	split = splitname(name)
 	lwfnname = split[0][:5]
 	for part in split[1:]:
-		if part <> '-':
+		if part != '-':
 			lwfnname = lwfnname + part[:3]
 	return lwfnname
 
@@ -506,7 +506,7 @@
 			fond.minimalparse()
 	
 	def close(self):
-		if self.resref <> None:
+		if self.resref != None:
 			try:
 				Res.CloseResFile(self.resref)
 			except Res.Error:
@@ -549,6 +549,6 @@
 		sel = self.w.l.getselection()
 		if not sel:
 			self.w.l.setselection([0])
-		elif len(sel) <> 1:
+		elif len(sel) != 1:
 			self.w.l.setselection([sel[0]])
 			
diff --git a/Lib/fontTools/misc/sstruct.py b/Lib/fontTools/misc/sstruct.py
index c9ab776..fe1711b 100644
--- a/Lib/fontTools/misc/sstruct.py
+++ b/Lib/fontTools/misc/sstruct.py
@@ -139,7 +139,7 @@
 			m = _extraRE.match(line)
 			if m:
 				formatchar = m.group(1)
-				if formatchar <> 'x' and formatstring:
+				if formatchar != 'x' and formatstring:
 					raise error, "a special format char must be first"
 			else:
 				m = _elementRE.match(line)
diff --git a/Lib/fontTools/misc/textTools.py b/Lib/fontTools/misc/textTools.py
index d461b25..fd64ed5 100644
--- a/Lib/fontTools/misc/textTools.py
+++ b/Lib/fontTools/misc/textTools.py
@@ -59,7 +59,7 @@
 	l = 0
 	for digit in bin:
 		l = l << 1
-		if digit <> "0":
+		if digit != "0":
 			l = l | 0x1
 	return l
 
diff --git a/Lib/fontTools/misc/xmlReader.py b/Lib/fontTools/misc/xmlReader.py
index c9bbcd4..8f7db3d 100644
--- a/Lib/fontTools/misc/xmlReader.py
+++ b/Lib/fontTools/misc/xmlReader.py
@@ -51,11 +51,11 @@
 		stackSize = self.stackSize
 		self.stackSize = stackSize + 1
 		if not stackSize:
-			if name <> "ttFont":
+			if name != "ttFont":
 				raise TTXParseError, "illegal root tag: %s" % name
 			sfntVersion = attrs.get("sfntVersion")
 			if sfntVersion is not None:
-				if len(sfntVersion) <> 4:
+				if len(sfntVersion) != 4:
 					sfntVersion = safeEval('"' + sfntVersion + '"')
 				self.ttFont.sfntVersion = sfntVersion
 			self.contentStack.append([])
diff --git a/Lib/fontTools/nfntLib.py b/Lib/fontTools/nfntLib.py
index c834fc5..3f48c4f 100644
--- a/Lib/fontTools/nfntLib.py
+++ b/Lib/fontTools/nfntLib.py
@@ -47,11 +47,11 @@
 		assert (headerSize + bitmapSize + tableSize - 16) / 2 == self.owTLoc  # ugh...
 		
 		locTable = data[headerSize + bitmapSize:headerSize + bitmapSize + tableSize]
-		if len(locTable) <> tableSize:
+		if len(locTable) != tableSize:
 			raise ValueError, 'invalid NFNT format'
 		
 		owTable = data[headerSize + bitmapSize + tableSize:headerSize + bitmapSize + 2 * tableSize]
-		if len(owTable) <> tableSize:
+		if len(owTable) != tableSize:
 			raise ValueError, 'invalid NFNT format'
 		
 		# fill tables
diff --git a/Lib/fontTools/t1Lib.py b/Lib/fontTools/t1Lib.py
index 42d95c2..c482a10 100644
--- a/Lib/fontTools/t1Lib.py
+++ b/Lib/fontTools/t1Lib.py
@@ -151,7 +151,7 @@
 		for i in range(501, 501 + n):
 			res = Res.Get1Resource('POST', i)
 			code = ord(res.data[0])
-			if ord(res.data[1]) <> 0:
+			if ord(res.data[1]) != 0:
 				raise T1Error, 'corrupt LWFN file'
 			if code in [1, 2]:
 				if onlyHeader and code == 2:
@@ -178,7 +178,7 @@
 	f = open(path, "rb")
 	data = []
 	while 1:
-		if f.read(1) <> chr(128):
+		if f.read(1) != chr(128):
 			raise T1Error, 'corrupt PFB file'
 		code = ord(f.read(1))
 		if code in [1, 2]:
@@ -297,8 +297,8 @@
 				chunk = deHexString(chunk)
 			decrypted, R = eexec.decrypt(chunk, 55665)
 			decrypted = decrypted[4:]
-			if decrypted[-len(EEXECINTERNALEND)-1:-1] <> EEXECINTERNALEND \
-					and decrypted[-len(EEXECINTERNALEND)-2:-2] <> EEXECINTERNALEND:
+			if decrypted[-len(EEXECINTERNALEND)-1:-1] != EEXECINTERNALEND \
+					and decrypted[-len(EEXECINTERNALEND)-2:-2] != EEXECINTERNALEND:
 				raise T1Error, "invalid end of eexec part"
 			decrypted = decrypted[:-len(EEXECINTERNALEND)-2] + '\r'
 			data.append(EEXECBEGINMARKER + decrypted + EEXECENDMARKER)
@@ -363,7 +363,7 @@
 	return str
 
 def stringToLong(str):
-	if len(str) <> 4:
+	if len(str) != 4:
 		raise ValueError, 'string must be 4 bytes long'
 	long = 0
 	for i in range(4):
diff --git a/Lib/fontTools/ttLib/__init__.py b/Lib/fontTools/ttLib/__init__.py
index e04b611..190d8e6 100644
--- a/Lib/fontTools/ttLib/__init__.py
+++ b/Lib/fontTools/ttLib/__init__.py
@@ -580,7 +580,7 @@
 					return glyphID
 
 		glyphID = d[glyphName]
-		if glyphName <> glyphOrder[glyphID]:
+		if glyphName != glyphOrder[glyphID]:
 			self._buildReverseGlyphOrderDict()
 			return self.getGlyphID(glyphName)
 		return glyphID
diff --git a/Lib/fontTools/ttLib/macUtils.py b/Lib/fontTools/ttLib/macUtils.py
index 27fb19a..d9024a7 100644
--- a/Lib/fontTools/ttLib/macUtils.py
+++ b/Lib/fontTools/ttLib/macUtils.py
@@ -90,11 +90,11 @@
 		self.fullname = fullname.string
 		self.familyname = familyname.string
 		self.psname = psname.string
-		if self.familyname <> self.psname[:len(self.familyname)]:
+		if self.familyname != self.psname[:len(self.familyname)]:
 			# ugh. force fam name to be the same as first part of ps name,
 			# fondLib otherwise barfs.
 			for i in range(min(len(self.psname), len(self.familyname))):
-				if self.familyname[i] <> self.psname[i]:
+				if self.familyname[i] != self.psname[i]:
 					break
 			self.familyname = self.psname[:i]
 		
diff --git a/Lib/fontTools/ttLib/sfnt.py b/Lib/fontTools/ttLib/sfnt.py
index 5ffc077..29355a9 100644
--- a/Lib/fontTools/ttLib/sfnt.py
+++ b/Lib/fontTools/ttLib/sfnt.py
@@ -88,7 +88,7 @@
 			if self.checkChecksums > 1:
 				# Be obnoxious, and barf when it's wrong
 				assert checksum == entry.checksum, "bad checksum for '%s' table" % tag
-			elif checksum <> entry.checkSum:
+			elif checksum != entry.checkSum:
 				# Be friendly, and just print a warning.
 				print "bad checksum for '%s' table" % tag
 		return data
@@ -139,7 +139,7 @@
 			# of the data is still the same, we allow overwriting it.
 			entry = self.tables[tag]
 			assert not hasattr(entry.__class__, 'encodeData')
-			if len(data) <> entry.length:
+			if len(data) != entry.length:
 				from fontTools import ttLib
 				raise ttLib.TTLibError, "cannot rewrite '%s' table: length does not match directory entry" % tag
 			reuse = True
@@ -175,7 +175,7 @@
 		"""
 		tables = self.tables.items()
 		tables.sort()
-		if len(tables) <> self.numTables:
+		if len(tables) != self.numTables:
 			from fontTools import ttLib
 			raise ttLib.TTLibError, "wrong number of tables; expected %d, found %d" % (self.numTables, len(tables))
 
diff --git a/Lib/fontTools/ttLib/tables/DefaultTable.py b/Lib/fontTools/ttLib/tables/DefaultTable.py
index 8d68ec0..b32057d 100644
--- a/Lib/fontTools/ttLib/tables/DefaultTable.py
+++ b/Lib/fontTools/ttLib/tables/DefaultTable.py
@@ -29,7 +29,7 @@
 	def fromXML(self, (name, attrs, content), ttFont):
 		from fontTools.misc.textTools import readHex
 		from fontTools import ttLib
-		if name <> "hexdata":
+		if name != "hexdata":
 			raise ttLib.TTLibError, "can't handle '%s' element" % name
 		self.decompile(readHex(content), ttFont)
 	
diff --git a/Lib/fontTools/ttLib/tables/G_P_K_G_.py b/Lib/fontTools/ttLib/tables/G_P_K_G_.py
index 0654c02..31f2c46 100644
--- a/Lib/fontTools/ttLib/tables/G_P_K_G_.py
+++ b/Lib/fontTools/ttLib/tables/G_P_K_G_.py
@@ -25,7 +25,7 @@
 		GMAPoffsets = array.array("I")
 		endPos = (self.numGMAPs+1) * 4
 		GMAPoffsets.fromstring(newData[:endPos])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			GMAPoffsets.byteswap()
 		self.GMAPs = []
 		for i in range(self.numGMAPs):
@@ -36,7 +36,7 @@
 		endPos = pos + (self.numGlyplets + 1)*4
 		glyphletOffsets = array.array("I")
 		glyphletOffsets.fromstring(newData[pos:endPos])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			glyphletOffsets.byteswap()
 		self.glyphlets = []
 		for i in range(self.numGlyplets):
@@ -59,7 +59,7 @@
 			pos += len(self.GMAPs[i-1])
 			GMAPoffsets[i] = pos
 		gmapArray = array.array("I", GMAPoffsets)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			gmapArray.byteswap()
 		dataList.append(gmapArray.tostring())
 
@@ -68,7 +68,7 @@
 			pos += len(self.glyphlets[i-1])
 			glyphletOffsets[i] = pos
 		glyphletArray = array.array("I", glyphletOffsets)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			glyphletArray.byteswap()
 		dataList.append(glyphletArray.tostring())
 		dataList += self.GMAPs
diff --git a/Lib/fontTools/ttLib/tables/L_T_S_H_.py b/Lib/fontTools/ttLib/tables/L_T_S_H_.py
index 83a4fff..4887124 100644
--- a/Lib/fontTools/ttLib/tables/L_T_S_H_.py
+++ b/Lib/fontTools/ttLib/tables/L_T_S_H_.py
@@ -44,7 +44,7 @@
 	def fromXML(self, (name, attrs, content), ttFont):
 		if not hasattr(self, "yPels"):
 			self.yPels = {}
-		if name <> "yPel":
+		if name != "yPel":
 			return # ignore unknown tags
 		self.yPels[attrs["name"]] = safeEval(attrs["value"])
 
diff --git a/Lib/fontTools/ttLib/tables/O_S_2f_2.py b/Lib/fontTools/ttLib/tables/O_S_2f_2.py
index a94248a..7adbc18 100644
--- a/Lib/fontTools/ttLib/tables/O_S_2f_2.py
+++ b/Lib/fontTools/ttLib/tables/O_S_2f_2.py
@@ -111,7 +111,7 @@
 			dummy, data = sstruct.unpack2(OS2_format_5_addition, data, self)
 			self.usLowerOpticalPointSize /= 20.
 			self.usUpperOpticalPointSize /= 20.
-		elif self.version <> 0:
+		elif self.version != 0:
 			from fontTools import ttLib
 			raise ttLib.TTLibError, "unknown format for OS/2 table: version %s" % self.version
 		if len(data):
diff --git a/Lib/fontTools/ttLib/tables/T_S_I__5.py b/Lib/fontTools/ttLib/tables/T_S_I__5.py
index 4d635b3..66e8d8b 100644
--- a/Lib/fontTools/ttLib/tables/T_S_I__5.py
+++ b/Lib/fontTools/ttLib/tables/T_S_I__5.py
@@ -12,7 +12,7 @@
 		assert len(data) == 2 * numGlyphs
 		a = array.array("H")
 		a.fromstring(data)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			a.byteswap()
 		self.glyphGrouping = {}
 		for i in range(numGlyphs):
@@ -23,7 +23,7 @@
 		a = array.array("H")
 		for i in range(len(glyphNames)):
 			a.append(self.glyphGrouping[glyphNames[i]])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			a.byteswap()
 		return a.tostring()
 	
@@ -37,7 +37,7 @@
 	def fromXML(self, (name, attrs, content), ttFont):
 		if not hasattr(self, "glyphGrouping"):
 			self.glyphGrouping = {}
-		if name <> "glyphgroup":
+		if name != "glyphgroup":
 			return
 		self.glyphGrouping[attrs["name"]] = safeEval(attrs["value"])
 
diff --git a/Lib/fontTools/ttLib/tables/_c_m_a_p.py b/Lib/fontTools/ttLib/tables/_c_m_a_p.py
index 4e10c20..a4ac714 100644
--- a/Lib/fontTools/ttLib/tables/_c_m_a_p.py
+++ b/Lib/fontTools/ttLib/tables/_c_m_a_p.py
@@ -82,7 +82,7 @@
 		if name == "tableVersion":
 			self.tableVersion = safeEval(attrs["version"])
 			return
-		if name[:12] <> "cmap_format_":
+		if name[:12] != "cmap_format_":
 			return
 		if not hasattr(self, "tables"):
 			self.tables = []
@@ -209,10 +209,10 @@
 			self.cmap = {}
 		cmap = self.cmap
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
-			if name <> "map":
+			if name != "map":
 				continue
 			cmap[safeEval(attrs["code"])] = attrs["name"]
 
@@ -272,7 +272,7 @@
 		allKeys = array.array("H")
 		allKeys.fromstring(data[:512])
 		data = data[512:]
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			allKeys.byteswap()
 		subHeaderKeys = [ key/8 for key in allKeys]
 		maxSubHeaderindex = max(subHeaderKeys)
@@ -288,7 +288,7 @@
 			giDataPos = pos + subHeader.idRangeOffset-2
 			giList = array.array("H")
 			giList.fromstring(data[giDataPos:giDataPos + subHeader.entryCount*2])
-			if sys.byteorder <> "big":
+			if sys.byteorder != "big":
 				giList.byteswap()
 			subHeader.glyphIndexArray = giList
 			subHeaderList.append(subHeader)
@@ -529,10 +529,10 @@
 		cmap = self.cmap
 
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
-			if name <> "map":
+			if name != "map":
 				continue
 			cmap[safeEval(attrs["code"])] = attrs["name"]
 
@@ -645,7 +645,7 @@
 		allCodes.fromstring(data)
 		self.data = data = None
 
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			allCodes.byteswap()
 		
 		# divide the data
@@ -673,7 +673,7 @@
 					# *someone* needs to get killed.
 					index = idRangeOffset[i] / 2 + (charCode - startCode[i]) + i - len(idRangeOffset)
 					assert (index < lenGIArray), "In format 4 cmap, range (%d), the calculated index (%d) into the glyph index array  is not less than the length of the array (%d) !" % (i, index, lenGIArray)
-					if glyphIndexArray[index] <> 0:  # if not missing glyph
+					if glyphIndexArray[index] != 0:  # if not missing glyph
 						glyphID = glyphIndexArray[index] + idDelta[i]
 					else:
 						glyphID = 0  # missing glyph
@@ -803,7 +803,7 @@
 		charCodeArray = array.array("H", endCode + [0] + startCode)
 		idDeltaeArray = array.array("h", idDelta)
 		restArray = array.array("H", idRangeOffset + glyphIndexArray)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			charCodeArray.byteswap()
 			idDeltaeArray.byteswap()
 			restArray.byteswap()
@@ -821,10 +821,10 @@
 		cmap = self.cmap
 
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			nameMap, attrsMap, dummyContent = element
-			if nameMap <> "map":
+			if nameMap != "map":
 				assert 0, "Unrecognized keyword in cmap subtable"
 			cmap[safeEval(attrsMap["code"])] = attrsMap["name"]
 
@@ -846,7 +846,7 @@
 		#assert len(data) == 2 * entryCount  # XXX not true in Apple's Helvetica!!!
 		glyphIndexArray = array.array("H")
 		glyphIndexArray.fromstring(data[:2 * int(entryCount)])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			glyphIndexArray.byteswap()
 		self.data = data = None
 
@@ -873,7 +873,7 @@
 			valueList = [cmap.get(code, ".notdef") for code in codes]
 			valueList = map(ttFont.getGlyphID, valueList)
 			glyphIndexArray = array.array("H", valueList)
-			if sys.byteorder <> "big":
+			if sys.byteorder != "big":
 				glyphIndexArray.byteswap()
 			data = glyphIndexArray.tostring()
 		else:
@@ -890,10 +890,10 @@
 		cmap = self.cmap
 
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
-			if name <> "map":
+			if name != "map":
 				continue
 			cmap[safeEval(attrs["code"])] = attrs["name"]
 
@@ -1033,10 +1033,10 @@
 		cmap = self.cmap
 
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
-			if name <> "map":
+			if name != "map":
 				continue
 			cmap[safeEval(attrs["code"])] = attrs["name"]
 
@@ -1066,7 +1066,7 @@
 
 
 def  cvtToUVS(threeByteString):
-	if sys.byteorder <> "big":
+	if sys.byteorder != "big":
 		data = "\0" +threeByteString
 	else:
 		data = threeByteString + "\0"
@@ -1074,7 +1074,7 @@
 	return val
 
 def  cvtFromUVS(val):
-	if sys.byteorder <> "big":
+	if sys.byteorder != "big":
 		threeByteString = struct.pack(">L", val)[1:]
 	else:
 		threeByteString = struct.pack(">L", val)[:3]
@@ -1190,10 +1190,10 @@
 			uvsDict = self.uvsDict 
 
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
-			if name <> "map":
+			if name != "map":
 				continue
 			uvs = safeEval(attrs["uvs"])
 			uv = safeEval(attrs["uv"])
diff --git a/Lib/fontTools/ttLib/tables/_c_v_t.py b/Lib/fontTools/ttLib/tables/_c_v_t.py
index be06f6d..2d401fb 100644
--- a/Lib/fontTools/ttLib/tables/_c_v_t.py
+++ b/Lib/fontTools/ttLib/tables/_c_v_t.py
@@ -9,13 +9,13 @@
 	def decompile(self, data, ttFont):
 		values = array.array("h")
 		values.fromstring(data)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			values.byteswap()
 		self.values = values
 	
 	def compile(self, ttFont):
 		values = self.values[:]
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			values.byteswap()
 		return values.tostring()
 	
diff --git a/Lib/fontTools/ttLib/tables/_g_a_s_p.py b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
index ec31ca4..84ec48a 100644
--- a/Lib/fontTools/ttLib/tables/_g_a_s_p.py
+++ b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
@@ -44,7 +44,7 @@
 			writer.newline()
 	
 	def fromXML(self, (name, attrs, content), ttFont):
-		if name <> "gaspRange":
+		if name != "gaspRange":
 			return
 		if not hasattr(self, "gaspRange"):
 			self.gaspRange = {}
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index 2c2fd47..dfe3b5f 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -42,7 +42,7 @@
 				glyphName = 'ttxautoglyph%s' % i
 			next = int(loca[i+1])
 			glyphdata = data[last:next]
-			if len(glyphdata) <> (next - last):
+			if len(glyphdata) != (next - last):
 				raise ttLib.TTLibError, "not enough 'glyf' table data"
 			glyph = Glyph(glyphdata)
 			self.glyphs[glyphName] = glyph
@@ -110,7 +110,7 @@
 			writer.newline()
 	
 	def fromXML(self, (name, attrs, content), ttFont):
-		if name <> "TTGlyph":
+		if name != "TTGlyph":
 			return
 		if not hasattr(self, "glyphs"):
 			self.glyphs = {}
@@ -124,7 +124,7 @@
 			setattr(glyph, attr, safeEval(attrs.get(attr, '0')))
 		self.glyphs[glyphName] = glyph
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			glyph.fromXML(element, ttFont)
 		if not ttFont.recalcBBoxes:
@@ -289,10 +289,10 @@
 			coordinates = GlyphCoordinates()
 			flags = []
 			for element in content:
-				if type(element) <> TupleType:
+				if type(element) != TupleType:
 					continue
 				name, attrs, content = element
-				if name <> "pt":
+				if name != "pt":
 					continue  # ignore anything but "pt"
 				coordinates.append((safeEval(attrs["x"]), safeEval(attrs["y"])))
 				flags.append(not not safeEval(attrs["on"]))
@@ -317,7 +317,7 @@
 		elif name == "instructions":
 			self.program = ttProgram.Program()
 			for element in content:
-				if type(element) <> TupleType:
+				if type(element) != TupleType:
 					continue
 				self.program.fromXML(element, ttFont)
 	
@@ -362,7 +362,7 @@
 	def decompileCoordinates(self, data):
 		endPtsOfContours = array.array("h")
 		endPtsOfContours.fromstring(data[:2*self.numberOfContours])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			endPtsOfContours.byteswap()
 		self.endPtsOfContours = endPtsOfContours.tolist()
 		
@@ -475,7 +475,7 @@
 		assert len(self.coordinates) == len(self.flags)
 		data = ""
 		endPtsOfContours = array.array("h", self.endPtsOfContours)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			endPtsOfContours.byteswap()
 		data = data + endPtsOfContours.tostring()
 		instructions = self.program.getBytecode()
@@ -826,7 +826,7 @@
 				data = data + struct.pack(">hhhh", 
 						transform[0][0], transform[0][1],
 						transform[1][0], transform[1][1])
-			elif transform[0][0] <> transform[1][1]:
+			elif transform[0][0] != transform[1][1]:
 				flags = flags | WE_HAVE_AN_X_AND_Y_SCALE
 				data = data + struct.pack(">hh", 
 						transform[0][0], transform[1][1])
@@ -852,7 +852,7 @@
 						("scalex", transform[0][0]), ("scale01", transform[0][1]),
 						("scale10", transform[1][0]), ("scaley", transform[1][1]),
 						]
-			elif transform[0][0] <> transform[1][1]:
+			elif transform[0][0] != transform[1][1]:
 				attrs = attrs + [
 						("scalex", transform[0][0]), ("scaley", transform[1][1]),
 						]
diff --git a/Lib/fontTools/ttLib/tables/_h_d_m_x.py b/Lib/fontTools/ttLib/tables/_h_d_m_x.py
index d4652b8..50ebc33 100644
--- a/Lib/fontTools/ttLib/tables/_h_d_m_x.py
+++ b/Lib/fontTools/ttLib/tables/_h_d_m_x.py
@@ -75,7 +75,7 @@
 		writer.newline()
 	
 	def fromXML(self, (name, attrs, content), ttFont):
-		if name <> "hdmxData":
+		if name != "hdmxData":
 			return
 		content = string.join(content, "")
 		lines = string.split(content, ";")
diff --git a/Lib/fontTools/ttLib/tables/_h_m_t_x.py b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
index c54e142..2e635a3 100644
--- a/Lib/fontTools/ttLib/tables/_h_m_t_x.py
+++ b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
@@ -20,14 +20,14 @@
 			numberOfMetrics = numGlyphs # We warn later.
 		# Note: advanceWidth is unsigned, but we read/write as signed.
 		metrics = array.array("h", data[:4 * numberOfMetrics])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			metrics.byteswap()
 		data = data[4 * numberOfMetrics:]
 		numberOfSideBearings = numGlyphs - numberOfMetrics
 		sideBearings = array.array("h", data[:2 * numberOfSideBearings])
 		data = data[2 * numberOfSideBearings:]
 
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			sideBearings.byteswap()
 		if data:
 			sys.stderr.write("too much data for hmtx/vmtx table\n")
@@ -61,12 +61,12 @@
 		for item in metrics:
 			allMetrics.extend(item)
 		allMetrics = array.array("h", allMetrics)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			allMetrics.byteswap()
 		data = allMetrics.tostring()
 		
 		additionalMetrics = array.array("h", additionalMetrics)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			additionalMetrics.byteswap()
 		data = data + additionalMetrics.tostring()
 		return data
diff --git a/Lib/fontTools/ttLib/tables/_k_e_r_n.py b/Lib/fontTools/ttLib/tables/_k_e_r_n.py
index ac3889b..ef8c455 100644
--- a/Lib/fontTools/ttLib/tables/_k_e_r_n.py
+++ b/Lib/fontTools/ttLib/tables/_k_e_r_n.py
@@ -70,7 +70,7 @@
 		if name == "version":
 			self.version = safeEval(attrs["value"])
 			return
-		if name <> "kernsubtable":
+		if name != "kernsubtable":
 			return
 		if not hasattr(self, "kernTables"):
 			self.kernTables = []
@@ -149,7 +149,7 @@
 		if not hasattr(self, "kernTable"):
 			self.kernTable = {}
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
 			self.kernTable[(attrs["l"], attrs["r"])] = safeEval(attrs["v"])
diff --git a/Lib/fontTools/ttLib/tables/_l_o_c_a.py b/Lib/fontTools/ttLib/tables/_l_o_c_a.py
index 09668aa..32e6dc3 100644
--- a/Lib/fontTools/ttLib/tables/_l_o_c_a.py
+++ b/Lib/fontTools/ttLib/tables/_l_o_c_a.py
@@ -17,7 +17,7 @@
 			format = "H"
 		locations = array.array(format)
 		locations.fromstring(data)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			locations.byteswap()
 		if not longFormat:
 			l = array.array("I")
@@ -42,7 +42,7 @@
 		else:
 			locations = array.array("I", self.locations)
 			ttFont['head'].indexToLocFormat = 1
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			locations.byteswap()
 		return locations.tostring()
 	
diff --git a/Lib/fontTools/ttLib/tables/_m_a_x_p.py b/Lib/fontTools/ttLib/tables/_m_a_x_p.py
index 9a88c6a..509188a 100644
--- a/Lib/fontTools/ttLib/tables/_m_a_x_p.py
+++ b/Lib/fontTools/ttLib/tables/_m_a_x_p.py
@@ -75,7 +75,7 @@
 		for glyphName in ttFont.getGlyphOrder():
 			g = glyfTable[glyphName]
 			if g.numberOfContours:
-				if hmtxTable[glyphName][1] <> g.xMin:
+				if hmtxTable[glyphName][1] != g.xMin:
 					allXMaxIsLsb = 0
 				xMin = min(xMin, g.xMin)
 				yMin = min(yMin, g.yMin)
diff --git a/Lib/fontTools/ttLib/tables/_n_a_m_e.py b/Lib/fontTools/ttLib/tables/_n_a_m_e.py
index d3e8093..e9bf47e 100644
--- a/Lib/fontTools/ttLib/tables/_n_a_m_e.py
+++ b/Lib/fontTools/ttLib/tables/_n_a_m_e.py
@@ -71,7 +71,7 @@
 			name.toXML(writer, ttFont)
 	
 	def fromXML(self, (name, attrs, content), ttFont):
-		if name <> "namerecord":
+		if name != "namerecord":
 			return # ignore unknown tags
 		if not hasattr(self, "names"):
 			self.names = []
diff --git a/Lib/fontTools/ttLib/tables/_p_o_s_t.py b/Lib/fontTools/ttLib/tables/_p_o_s_t.py
index 5b5ef65..02e3819 100644
--- a/Lib/fontTools/ttLib/tables/_p_o_s_t.py
+++ b/Lib/fontTools/ttLib/tables/_p_o_s_t.py
@@ -79,7 +79,7 @@
 		data = data[2:]
 		indices = array.array("H")
 		indices.fromstring(data[:2*numGlyphs])
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			indices.byteswap()
 		data = data[2*numGlyphs:]
 		self.extraNames = extraNames = unpackPStrings(data)
@@ -145,7 +145,7 @@
 				extraDict[psName] = len(extraNames)
 				extraNames.append(psName)
 			indices.append(index)
-		if sys.byteorder <> "big":
+		if sys.byteorder != "big":
 			indices.byteswap()
 		return struct.pack(">H", numGlyphs) + indices.tostring() + packPStrings(extraNames)
 	
@@ -195,7 +195,7 @@
 		elif name == "psNames":
 			self.mapping = {}
 			for element in content:
-				if type(element) <> TupleType:
+				if type(element) != TupleType:
 					continue
 				name, attrs, content = element
 				if name == "psName":
@@ -203,7 +203,7 @@
 		elif name == "extraNames":
 			self.extraNames = []
 			for element in content:
-				if type(element) <> TupleType:
+				if type(element) != TupleType:
 					continue
 				name, attrs, content = element
 				if name == "psName":
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index d4f950a..d556e63 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -696,7 +696,7 @@
 	
 	def readFormat(self, reader):
 		self.Format = reader.readUShort()
-		assert self.Format <> 0, (self, reader.pos, len(reader.data))
+		assert self.Format != 0, (self, reader.pos, len(reader.data))
 	
 	def writeFormat(self, writer):
 		writer.writeUShort(self.Format)
@@ -829,12 +829,12 @@
 		for k, v in attrs.items():
 			setattr(self, k, int(v))
 		for element in content:
-			if type(element) <> TupleType:
+			if type(element) != TupleType:
 				continue
 			name, attrs, content = element
 			value = getattr(otTables, name)()
 			for elem2 in content:
-				if type(elem2) <> TupleType:
+				if type(elem2) != TupleType:
 					continue
 				value.fromXML(elem2, font)
 			setattr(self, name, value)
diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py
index 86dc804..0555720 100644
--- a/Lib/fontTools/ttLib/tables/otConverters.py
+++ b/Lib/fontTools/ttLib/tables/otConverters.py
@@ -347,7 +347,7 @@
 			if shift == 0:
 				writer.writeUShort(tmp)
 				tmp, shift = 0, 16
-		if shift <> 16:
+		if shift != 16:
 			writer.writeUShort(tmp)
 	
 	def xmlWrite(self, xmlWriter, font, value, name, attrs):
diff --git a/Lib/fontTools/ttLib/tables/ttProgram.py b/Lib/fontTools/ttLib/tables/ttProgram.py
index 647386e..490b0ab 100644
--- a/Lib/fontTools/ttLib/tables/ttProgram.py
+++ b/Lib/fontTools/ttLib/tables/ttProgram.py
@@ -291,7 +291,7 @@
 				push(op)
 			elif mnemonic not in ("NPUSHB", "NPUSHW", "PUSHB", "PUSHW"):
 				op, argBits = mnemonicDict[mnemonic]
-				if len(arg) <> argBits:
+				if len(arg) != argBits:
 					raise tt_instructions_error, "Incorrect number of argument bits (%s[%s])" % (mnemonic, arg)
 				if arg:
 					arg = binary2num(arg)