Use typeFloat for all floating point values. The previously used
typeExtended was a Think-ism that must have stopped working years and
years ago without anyone noticing.
diff --git a/Mac/Lib/lib-toolbox/aepack.py b/Mac/Lib/lib-toolbox/aepack.py
index 9302a54..94a0f53 100644
--- a/Mac/Lib/lib-toolbox/aepack.py
+++ b/Mac/Lib/lib-toolbox/aepack.py
@@ -45,11 +45,11 @@
 # we like better (and which is equivalent)
 #
 unpacker_coercions = {
-	typeComp : typeExtended,
+	typeComp : typeFloat,
 	typeColorTable : typeAEList,
 	typeDrawingArea : typeAERecord,
-	typeFixed : typeExtended,
-	typeFloat : typeExtended,
+	typeFixed : typeFloat,
+	typeExtended : typeFloat,
 	typePixelMap : typeAERecord,
 	typeRotation : typeAERecord,
 	typeStyledText : typeAERecord,
@@ -87,14 +87,7 @@
 	if t == IntType:
 		return AE.AECreateDesc('long', struct.pack('l', x))
 	if t == FloatType:
-		#
-		# XXXX (note by Guido) Weird thing -- Think C's "double" is 10 bytes, but
-		# struct.pack('d') return 12 bytes (and struct.unpack requires
-		# them, too).  The first 2 bytes seem to be repeated...
-		# Probably an alignment problem
-		# XXXX (note by Jack) haven't checked this under MW
-		#
-		return AE.AECreateDesc('exte', struct.pack('d', x)[2:])
+		return AE.AECreateDesc('doub', struct.pack('d', x))
 	if t == StringType:
 		return AE.AECreateDesc('TEXT', x)
 	if t == ListType:
@@ -148,14 +141,11 @@
 	if t == typeEnumeration:
 		return mkenum(desc.data)
 	# typeEPS returned as unknown
-	if t == typeExtended:
-		data = desc.data
-		# XXX See corresponding note for pack()
-		return struct.unpack('d', data[:2] + data)[0]
 	if t == typeFalse:
 		return 0
-	# typeFixed coerced to extended
-	# typeFloat coerced to extended
+	if t == typeFloat:
+		data = desc.data
+		return struct.unpack('d', data)[0]
 	if t == typeFSS:
 		return macfs.RawFSSpec(desc.data)
 	if t == typeInsertionLoc:
@@ -170,7 +160,6 @@
 		return aetypes.IntlWritingCode(script, language)
 	if t == typeKeyword:
 		return mkkeyword(desc.data)
-	# typeLongFloat is equal to typeFloat
 	if t == typeLongInteger:
 		return struct.unpack('l', desc.data)[0]
 	if t == typeNull: