pixelbath 2 years ago
parent
commit
32830a92e6
2 changed files with 50 additions and 0 deletions
  1. 3 0
      .gitignore
  2. 47 0
      build.py

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+*.png
+*.otf
+*.ttf

+ 47 - 0
build.py

@@ -0,0 +1,47 @@
+import os
+
+import PIL
+from PIL import ImageFont
+from PIL import Image
+from PIL import ImageDraw
+
+rootdir = "."
+fontsPerPage = 14
+pageWidth = 1000
+pageHeight = 1200
+
+curFontNumOnPage = 0
+curFontNum = 1
+curPageNum = 0
+defaultFont = ImageFont.load_default()
+
+print("Building tree in %s..." % (rootdir))
+for currentpath, folders, files in os.walk(rootdir):
+    for file in files:
+        ext = os.path.splitext(file)[1]
+        if ext not in ['.ttf', '.otf']:
+            continue
+
+        if curFontNumOnPage == 0:
+            img = Image.new("RGBA", (pageWidth, pageHeight), (255,255,255))
+
+        yPos = (pageHeight / fontsPerPage * curFontNumOnPage) + 10
+        filePath = os.path.join(currentpath, file)
+
+        # print("Loading font %s" % (filePath))
+        curFont = ImageFont.truetype(filePath, 26)
+
+        draw = ImageDraw.Draw(img)
+        draw.text((10, yPos), str(curFontNum) + ": " + filePath, (0,0,0), font=defaultFont)
+        draw.text((10, yPos + 10),"Jackdaws love my big sphinx of quartz! 01234567890 []()", (0,0,0), font=curFont)
+        draw.text((10, yPos + 40),"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz ?$%", (0,0,0), font=curFont)
+
+        curFontNumOnPage += 1
+        curFontNum += 1
+
+        if curFontNumOnPage >= fontsPerPage:
+            img.save("page-%d.png" % (curPageNum))
+            curFontNumOnPage = 0
+            curPageNum += 1
+
+print("Completed %d fonts across %d files" % (curFontNum - 1, curPageNum))