2to3 --fix=has_key
diff --git a/Lib/fontTools/cffLib.py b/Lib/fontTools/cffLib.py
index 54c9cf2..b876c50 100644
--- a/Lib/fontTools/cffLib.py
+++ b/Lib/fontTools/cffLib.py
@@ -526,7 +526,7 @@
 			return self.charStrings.values()
 	
 	def has_key(self, name):
-		return self.charStrings.has_key(name)
+		return name in self.charStrings
 	
 	def __len__(self):
 		return len(self.charStrings)
@@ -788,7 +788,7 @@
 			if DEBUG:
 				print "    charset end at %s" % file.tell()
 		else: # offset == 0 -> no charset data.
-			if isCID or not parent.rawDict.has_key("CharStrings"): 
+			if isCID or "CharStrings" not in parent.rawDict: 
 				assert value == 0 # We get here only when processing fontDicts from the FDArray of CFF-CID fonts. Only the real topDict references the chrset.
 				charset = None
 			elif value == 0:
@@ -992,7 +992,7 @@
 		xmlWriter.newline()
 
 	def xmlRead(self, (name, attrs, content), parent):
-		if attrs.has_key("name"):
+		if "name" in attrs:
 			return attrs["name"]
 		encoding = [".notdef"] * 256
 		for element in content:
@@ -1613,9 +1613,9 @@
 	def getSID(self, s):
 		if not hasattr(self, "stringMapping"):
 			self.buildStringMapping()
-		if cffStandardStringMapping.has_key(s):
+		if s in cffStandardStringMapping:
 			SID = cffStandardStringMapping[s]
-		elif self.stringMapping.has_key(s):
+		elif s in self.stringMapping:
 			SID = self.stringMapping[s]
 		else:
 			SID = len(self.strings) + cffStandardStringCount