diff --git a/src/core/fonts.js b/src/core/fonts.js
index dc569fa2f..dd991c1bc 100644
--- a/src/core/fonts.js
+++ b/src/core/fonts.js
@@ -722,6 +722,11 @@ function createPostTable(properties) {
   ); // maxMemType1
 }
 
+function createPostscriptName(name) {
+  // See https://docs.microsoft.com/en-us/typography/opentype/spec/recom#name.
+  return name.replace(/[^\x21-\x7E]|[[\](){}<>/%]/g, "").slice(0, 63);
+}
+
 function createNameTable(name, proto) {
   if (!proto) {
     proto = [[], []]; // no strings and unicode strings
@@ -734,7 +739,7 @@ function createNameTable(name, proto) {
     proto[0][3] || "uniqueID", // 3.Unique ID
     proto[0][4] || name, // 4.Full font name
     proto[0][5] || "Version 0.11", // 5.Version
-    proto[0][6] || "", // 6.Postscript name
+    proto[0][6] || createPostscriptName(name), // 6.Postscript name
     proto[0][7] || "Unknown", // 7.Trademark
     proto[0][8] || "Unknown", // 8.Manufacturer
     proto[0][9] || "Unknown", // 9.Designer