EN · DE · RU · FR · ES

#254: FontMain.kt

plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt Typ: Kotlin · Rolle: Test · Quelle: plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt 52 Zeilen · 25 Code · 23 Kommentare · 4 leer
Komponenten-/Integrationstest für FontMain. Validiert die Korrektheit des entsprechenden Produktionsklassenverhaltens.

Codestruktur

Annotationen: JvmStatic

Klassen: FontMain

Funktionen (1): main

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

Importe: 2 Pakete

Paket: org.projectforge.plugins.merlin

Quelltext (gekürzt)

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("******** Das Schriftartenverzeichnis wurde nicht gefunden, daher sind keine zusätzlichen Schriftarten verfügbar: ${dir.absolutePath}'")
        return
      }
      dir.list()?.forEach { filename ->
        val file = File(dir, filename)
        if (file.extension == "otf") {
          // Dank an: 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-Verlauf

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