EN · DE · RU · FR · ES

#254: FontMain.kt

plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt Тип: Kotlin · Роль: Тест · Источник: plugins/org.projectforge.plugins.merlin/src/test/kotlin/org/projectforge/plugins/merlin/FontMain.kt 52 строки · 25 кода · 23 комментария · 4 пустых
Модульный/интеграционный тест для FontMain. Проверяет корректность поведения соответствующего производственного класса.

Структура кода

Аннотации: JvmStatic

Классы: FontMain

Функции (1): main

Свойства (5): dir, file, font, name, baseFont

Импорты: 2 пакета

Пакет: org.projectforge.plugins.merlin

Исходный код (сокращён)

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("******** Не удалось найти каталог шрифтов, поэтому дополнительные шрифты недоступны: ${dir.absolutePath}'")
        return
      }
      dir.list()?.forEach { filename ->
        val file = File(dir, filename)
        if (file.extension == "otf") {
          // Благодарность: 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

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024-> 2025.
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.
5f7ef41b8 Авторские права 2021 -> 2022