 
 	# Change point-size
 	size:
-		match: "(s)\\s*(\\d+)"
+		match: "(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))"
 		captures:
 			1: name: "entity.name.function.ditroff"
-			2: name: "constant.numeric.integer.ditroff"
+			2: name: "constant.numeric.ignored.ditroff"
+			3: name: "constant.numeric.float.ditroff"
+			4: name: "constant.numeric.integer.ditroff"
 
 
 	# Paddable word-space: information only, no action

		},{
			# Print literal characters
			name: "meta.print-character.ditroff"
			match: "(c)\\s*(\\S)|(C)\\s*(\\S+)"
			captures:
				1: name: "entity.name.function.ditroff"
				2: name: "constant.character.ditroff"
				3: name: "entity.name.function.ditroff"
				4: name: "string.unquoted.ditroff"
		},{
			# Print sequence of named glyphs (GNU extension)
			name: "meta.print-text.gnu.ditroff"

		},{
			# Everything else
			name: "meta.graphics.ditroff"
			begin: "^\\s*(D)\\s*([lceafptPR~])"
			end:   "(?=$|#)"
			patterns: [include: "text.roff#number"]
			beginCaptures:
