EN · DE · RU · FR · ES

#254: FontMain.kt

plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt Type: Kotlin · Role: Test · Source: plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt 52 lines · 25 code · 23 comments · 4 blank
Unit/integration test for FontMain. Validates correctness of the corresponding production class behavior.

Code Structure

Annotations: JvmStatic

Classes: FontMain

Functions (1): main

Properties (5): dir, file, font, name, baseFont

Imports: 2 packages

Package: org.projectforge.plugins.merlin

Source Code (abridged)

package org.projectforge.plugins.merlin

import com.lowagie.text.pdf.BaseFont
import java.io.File

class FontMain {
  companion object {
    @JvmStatic
    fun main(args: Array<String>) {
      val dir = File("${System.getProperty("user.home")}/ProjectForge/resources/fonts")
      if (!dir.exists()) {
        println("******** Can't find fonts directory, so no additional fonts available: ${dir.absolutePath}'")
        return
      }
      dir.list()?.forEach { filename ->
        val file = File(dir, filename)
        if (file.extension == "otf") {
          // Thanx to: https://stackoverflow.com/questions/7821024/retrieving-font-name-from-font-file-in-java
          val font = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, file)
          val name: String = font.getName()
          println("name=${name.replace("[ -._]".toRegex(), "")}")
          val baseFont = BaseFont.createFont(file.absolutePath, "Identity-H", BaseFont.EMBEDDED)
          println("name: ${baseFont.getPostscriptFontName()}")
        }
      }

    }
  }
}

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022