Full Code of aalmiray/ikonli for AI

master 22891ac42669 cached
728 files
7.6 MB
2.0M tokens
1847 symbols
1 requests
Download .txt
Showing preview only (8,182K chars total). Download the full file or copy to clipboard to get everything.
Repository: aalmiray/ikonli
Branch: master
Commit: 22891ac42669
Files: 728
Total size: 7.6 MB

Directory structure:
gitextract_k4il8tur/

├── .bach/
│   └── bach.info/
│       └── module-info.java
├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       ├── build.yml
│       ├── early-access.yml
│       └── release.yml
├── .gitignore
├── LICENSE
├── README.adoc
├── SECURITY.md
├── VERSION
├── apps/
│   ├── ikonli-browser/
│   │   ├── ikonli-browser.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── eu/
│   │           │   │   └── hansolo/
│   │           │   │       └── tilesfx/
│   │           │   │           └── tools/
│   │           │   │               └── FlowGridPane.java
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── browser/
│   │           │                   ├── AboutDialog.java
│   │           │                   ├── IkonBrowser.java
│   │           │                   ├── IkonInternalWindow.java
│   │           │                   ├── IkonPickerDialog.java
│   │           │                   ├── Launcher.java
│   │           │                   ├── SearchInternalWindow.java
│   │           │                   ├── Versions.java
│   │           │                   └── internal/
│   │           │                       └── JavaFXThreadProxyObservableList.java
│   │           ├── jpackage/
│   │           │   └── icons/
│   │           │       └── ikonli-browser.icns
│   │           └── resources/
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── browser/
│   │                               ├── browser.css
│   │                               ├── common.css
│   │                               ├── ikon-window.css
│   │                               └── versions.properties
│   ├── sampler-javafx/
│   │   ├── sampler-javafx.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── sampler/
│   │           │                   └── javafx/
│   │           │                       └── Sampler.java
│   │           └── resources/
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── sampler/
│   │                               └── javafx/
│   │                                   ├── sampler.css
│   │                                   └── sampler.fxml
│   └── sampler-swing/
│       ├── sampler-swing.gradle
│       └── src/
│           └── main/
│               └── java/
│                   ├── module-info.java
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── sampler/
│                                   └── swing/
│                                       └── Sampler.java
├── bach.args
├── build.gradle
├── buildSrc/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── groovy/
│               └── org/
│                   └── kordamp/
│                       └── ikonli/
│                           └── gradle/
│                               └── NativeImageResourceGeneratorTask.groovy
├── core/
│   ├── ikonli-bom/
│   │   └── ikonli-bom.gradle
│   ├── ikonli-core/
│   │   ├── ikonli-core.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               ├── module-info.java
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           ├── AbstractIkonHandler.java
│   │                           ├── AbstractIkonResolver.java
│   │                           ├── DefaultIkonResolver.java
│   │                           ├── FontLoader.java
│   │                           ├── Ikon.java
│   │                           ├── IkonHandler.java
│   │                           ├── IkonProvider.java
│   │                           ├── IkonResolver.java
│   │                           ├── IkonResolverProvider.java
│   │                           ├── Ikonli.java
│   │                           ├── IkonliIkonProvider.java
│   │                           ├── IkonliIkonResolver.java
│   │                           └── OSGiIkonResolver.java
│   ├── ikonli-javafx/
│   │   ├── ikonli-javafx.gradle
│   │   ├── src/
│   │   │   └── main/
│   │   │       └── java/
│   │   │           ├── module-info.java
│   │   │           └── org/
│   │   │               └── kordamp/
│   │   │                   └── ikonli/
│   │   │                       └── javafx/
│   │   │                           ├── FontIcon.java
│   │   │                           ├── FontIconConverter.java
│   │   │                           ├── FontIconTableCell.java
│   │   │                           ├── Icon.java
│   │   │                           ├── JavaFXFontLoader.java
│   │   │                           └── StackedFontIcon.java
│   │   └── tmp/
│   │       ├── FontIconTest.java
│   │       ├── PaintConverter.java
│   │       ├── SVGGlyphRegistry.java
│   │       ├── SVGIcon.java
│   │       ├── SVGIconConverter.java
│   │       └── StackedFontIcon.java
│   └── ikonli-swing/
│       ├── ikonli-swing.gradle
│       └── src/
│           └── main/
│               └── java/
│                   ├── module-info.java
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── swing/
│                                   ├── FontIcon.java
│                                   └── SwingFontLoader.java
├── docs/
│   └── guide/
│       ├── guide.gradle
│       └── src/
│           ├── docs/
│           │   └── asciidoc/
│           │       ├── authoring.adoc
│           │       ├── cheat-sheet-antdesignicons.adoc
│           │       ├── cheat-sheet-bootstrapicons.adoc
│           │       ├── cheat-sheet-boxicons.adoc
│           │       ├── cheat-sheet-bpmn.adoc
│           │       ├── cheat-sheet-bytedance.adoc
│           │       ├── cheat-sheet-captainicon.adoc
│           │       ├── cheat-sheet-carbonicons.adoc
│           │       ├── cheat-sheet-codicons.adoc
│           │       ├── cheat-sheet-coreui.adoc
│           │       ├── cheat-sheet-dashicons.adoc
│           │       ├── cheat-sheet-devicons.adoc
│           │       ├── cheat-sheet-elusive.adoc
│           │       ├── cheat-sheet-entypo.adoc
│           │       ├── cheat-sheet-evaicons.adoc
│           │       ├── cheat-sheet-feather.adoc
│           │       ├── cheat-sheet-fileicons.adoc
│           │       ├── cheat-sheet-fluentui.adoc
│           │       ├── cheat-sheet-fontawesome.adoc
│           │       ├── cheat-sheet-fontawesome5.adoc
│           │       ├── cheat-sheet-fontawesome6.adoc
│           │       ├── cheat-sheet-fontelico.adoc
│           │       ├── cheat-sheet-foundation.adoc
│           │       ├── cheat-sheet-hawcons.adoc
│           │       ├── cheat-sheet-icomoon.adoc
│           │       ├── cheat-sheet-ionicons.adoc
│           │       ├── cheat-sheet-ionicons4.adoc
│           │       ├── cheat-sheet-jamicons.adoc
│           │       ├── cheat-sheet-ligaturesymbols.adoc
│           │       ├── cheat-sheet-lineawesome.adoc
│           │       ├── cheat-sheet-linecons.adoc
│           │       ├── cheat-sheet-maki.adoc
│           │       ├── cheat-sheet-maki2.adoc
│           │       ├── cheat-sheet-mapicons.adoc
│           │       ├── cheat-sheet-material.adoc
│           │       ├── cheat-sheet-material2.adoc
│           │       ├── cheat-sheet-materialdesign.adoc
│           │       ├── cheat-sheet-materialdesign2.adoc
│           │       ├── cheat-sheet-medicons.adoc
│           │       ├── cheat-sheet-metrizeicons.adoc
│           │       ├── cheat-sheet-microns.adoc
│           │       ├── cheat-sheet-ociicons.adoc
│           │       ├── cheat-sheet-octicons.adoc
│           │       ├── cheat-sheet-openiconic.adoc
│           │       ├── cheat-sheet-paymentfont.adoc
│           │       ├── cheat-sheet-prestashopicons.adoc
│           │       ├── cheat-sheet-remixicon.adoc
│           │       ├── cheat-sheet-runestroicons.adoc
│           │       ├── cheat-sheet-simpleicons.adoc
│           │       ├── cheat-sheet-simplelineicons.adoc
│           │       ├── cheat-sheet-subway.adoc
│           │       ├── cheat-sheet-themify.adoc
│           │       ├── cheat-sheet-typicons.adoc
│           │       ├── cheat-sheet-unicons.adoc
│           │       ├── cheat-sheet-weathericons.adoc
│           │       ├── cheat-sheet-websymbols.adoc
│           │       ├── cheat-sheet-whhg.adoc
│           │       ├── cheat-sheet-win10.adoc
│           │       ├── cheat-sheet-zondicons.adoc
│           │       ├── icon-packs.adoc
│           │       ├── index.adoc
│           │       ├── introduction.adoc
│           │       ├── resources/
│           │       │   └── css/
│           │       │       └── style.css
│           │       └── usage.adoc
│           └── javadoc/
│               ├── overview.html
│               └── resources/
│                   └── css/
│                       └── stylesheet.css
├── gradle/
│   ├── LICENSE_HEADER
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── icon-packs/
│   ├── ikonli-antdesignicons-pack/
│   │   ├── ikonli-antdesignicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── antdesignicons/
│   │           │                   ├── AntDesignIconsFilled.java
│   │           │                   ├── AntDesignIconsFilledIkonHandler.java
│   │           │                   ├── AntDesignIconsFilledIkonProvider.java
│   │           │                   ├── AntDesignIconsOutlined.java
│   │           │                   ├── AntDesignIconsOutlinedIkonHandler.java
│   │           │                   └── AntDesignIconsOutlinedIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── antdesignicons/
│   │                           └── 4.0.0/
│   │                               └── css/
│   │                                   ├── antdesignicons-filled.css
│   │                                   └── antdesignicons-outlined.css
│   ├── ikonli-bootstrapicons-pack/
│   │   ├── ikonli-bootstrapicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bootstrapicons/
│   │           │                   ├── BootstrapIcons.java
│   │           │                   ├── BootstrapIconsIkonHandler.java
│   │           │                   └── BootstrapIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bootstrapicons/
│   │                           └── 1.4.1/
│   │                               └── css/
│   │                                   └── bootstrap-icons.css
│   ├── ikonli-boxicons-pack/
│   │   ├── ikonli-boxicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── boxicons/
│   │           │                   ├── BoxiconsLogos.java
│   │           │                   ├── BoxiconsLogosIkonHandler.java
│   │           │                   ├── BoxiconsLogosIkonProvider.java
│   │           │                   ├── BoxiconsRegular.java
│   │           │                   ├── BoxiconsRegularIkonHandler.java
│   │           │                   ├── BoxiconsRegularIkonProvider.java
│   │           │                   ├── BoxiconsSolid.java
│   │           │                   ├── BoxiconsSolidIkonHandler.java
│   │           │                   └── BoxiconsSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── boxicons/
│   │                           └── 2.0.7/
│   │                               └── css/
│   │                                   └── boxicons.css
│   ├── ikonli-bpmn-pack/
│   │   ├── ikonli-bpmn-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bpmn/
│   │           │                   ├── Bpmn.java
│   │           │                   ├── BpmnIkonHandler.java
│   │           │                   └── BpmnIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bpmn/
│   │                           └── 0.10.0/
│   │                               └── css/
│   │                                   └── bpmn.css
│   ├── ikonli-bytedance-pack/
│   │   ├── ikonli-bytedance-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bytedance/
│   │           │                   ├── BytedanceIconsBoldAL.java
│   │           │                   ├── BytedanceIconsBoldALIkonHandler.java
│   │           │                   ├── BytedanceIconsBoldALIkonProvider.java
│   │           │                   ├── BytedanceIconsBoldMZ.java
│   │           │                   ├── BytedanceIconsBoldMZIkonHandler.java
│   │           │                   ├── BytedanceIconsBoldMZIkonProvider.java
│   │           │                   ├── BytedanceIconsExtraBoldAL.java
│   │           │                   ├── BytedanceIconsExtraBoldALIkonHandler.java
│   │           │                   ├── BytedanceIconsExtraBoldALIkonProvider.java
│   │           │                   ├── BytedanceIconsExtraBoldMZ.java
│   │           │                   ├── BytedanceIconsExtraBoldMZIkonHandler.java
│   │           │                   ├── BytedanceIconsExtraBoldMZIkonProvider.java
│   │           │                   ├── BytedanceIconsRegularAL.java
│   │           │                   ├── BytedanceIconsRegularALIkonHandler.java
│   │           │                   ├── BytedanceIconsRegularALIkonProvider.java
│   │           │                   ├── BytedanceIconsRegularMZ.java
│   │           │                   ├── BytedanceIconsRegularMZIkonHandler.java
│   │           │                   ├── BytedanceIconsRegularMZIkonProvider.java
│   │           │                   ├── BytedanceIconsThinAL.java
│   │           │                   ├── BytedanceIconsThinALIkonHandler.java
│   │           │                   ├── BytedanceIconsThinALIkonProvider.java
│   │           │                   ├── BytedanceIconsThinMZ.java
│   │           │                   ├── BytedanceIconsThinMZIkonHandler.java
│   │           │                   └── BytedanceIconsThinMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bytedance/
│   │                           └── 1.3.0/
│   │                               └── css/
│   │                                   ├── bytedance-iconpack-bold.css
│   │                                   ├── bytedance-iconpack-extrabold.css
│   │                                   ├── bytedance-iconpack-regular.css
│   │                                   └── bytedance-iconpack-thin.css
│   ├── ikonli-captainicon-pack/
│   │   ├── ikonli-captainicon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── captainicon/
│   │           │                   ├── Captainicon.java
│   │           │                   ├── CaptainiconIkonHandler.java
│   │           │                   └── CaptainiconIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── captainicon/
│   │                           └── 20140501/
│   │                               └── css/
│   │                                   └── captainicon.css
│   ├── ikonli-carbonicons-pack/
│   │   ├── ikonli-carbonicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── carbonicons/
│   │           │                   ├── CarbonIcons.java
│   │           │                   ├── CarbonIconsIkonProvider.java
│   │           │                   └── CarboniconsIkonHandler.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── carbonicons/
│   │                           └── 10.23.2/
│   │                               └── css/
│   │                                   └── carbonicons.css
│   ├── ikonli-codicons-pack/
│   │   ├── ikonli-codicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── codicons/
│   │           │                   ├── Codicons.java
│   │           │                   ├── CodiconsIkonHandler.java
│   │           │                   └── CodiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── codicons/
│   │                           └── 0.0.12/
│   │                               └── css/
│   │                                   └── codicon.css
│   ├── ikonli-coreui-pack/
│   │   ├── ikonli-coreui-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── coreui/
│   │           │                   ├── CoreUiBrands.java
│   │           │                   ├── CoreUiBrandsIkonHandler.java
│   │           │                   ├── CoreUiBrandsIkonProvider.java
│   │           │                   ├── CoreUiFree.java
│   │           │                   ├── CoreUiFreeIkonHandler.java
│   │           │                   └── CoreUiFreeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── coreui/
│   │                           └── 2.0.0-beta.5/
│   │                               └── css/
│   │                                   ├── coreui-brand.css
│   │                                   └── coreui-free.css
│   ├── ikonli-dashicons-pack/
│   │   ├── ikonli-dashicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── dashicons/
│   │           │                   ├── Dashicons.java
│   │           │                   ├── DashiconsIkonHandler.java
│   │           │                   └── DashiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── dashicons/
│   │                           └── 20200504/
│   │                               └── css/
│   │                                   └── dashicons.css
│   ├── ikonli-devicons-pack/
│   │   ├── ikonli-devicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── devicons/
│   │           │                   ├── Devicons.java
│   │           │                   ├── DeviconsIkonHandler.java
│   │           │                   └── DeviconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── devicons/
│   │                           └── 1.8.0/
│   │                               └── css/
│   │                                   └── devicons.css
│   ├── ikonli-elusive-pack/
│   │   ├── ikonli-elusive-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── elusive/
│   │           │                   ├── Elusive.java
│   │           │                   ├── ElusiveIkonHandler.java
│   │           │                   └── ElusiveIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── elusive/
│   │                           └── 2.0/
│   │                               └── css/
│   │                                   └── elusive-webfont.css
│   ├── ikonli-entypo-pack/
│   │   ├── ikonli-entypo-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── entypo/
│   │           │                   ├── Entypo.java
│   │           │                   ├── EntypoIkonHandler.java
│   │           │                   └── EntypoIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── entypo/
│   │                           └── 1.0/
│   │                               └── css/
│   │                                   └── entypo.css
│   ├── ikonli-evaicons-pack/
│   │   ├── ikonli-evaicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── evaicons/
│   │           │                   ├── Evaicons.java
│   │           │                   ├── EvaiconsIkonHandler.java
│   │           │                   └── EvaiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── evaicons/
│   │                           └── 1.1.3/
│   │                               └── css/
│   │                                   └── evaicons.css
│   ├── ikonli-feather-pack/
│   │   ├── ikonli-feather-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── feather/
│   │           │                   ├── Feather.java
│   │           │                   ├── FeatherIkonHandler.java
│   │           │                   └── FeatherIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── feather/
│   │                           └── 4.28/
│   │                               └── css/
│   │                                   └── feather.css
│   ├── ikonli-fileicons-pack/
│   │   ├── ikonli-fileicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fileicons/
│   │           │                   ├── FileIcons.java
│   │           │                   ├── FileIconsIkonHandler.java
│   │           │                   └── FileIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fileicons/
│   │                           └── 2.1.44/
│   │                               └── css/
│   │                                   └── fileicons.css
│   ├── ikonli-fluentui-pack/
│   │   ├── ikonli-fluentui-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fluentui/
│   │           │                   ├── FluentUiFilledAL.java
│   │           │                   ├── FluentUiFilledALIkonHandler.java
│   │           │                   ├── FluentUiFilledALIkonProvider.java
│   │           │                   ├── FluentUiFilledMZ.java
│   │           │                   ├── FluentUiFilledMZIkonHandler.java
│   │           │                   ├── FluentUiFilledMZIkonProvider.java
│   │           │                   ├── FluentUiRegularAL.java
│   │           │                   ├── FluentUiRegularALIkonHandler.java
│   │           │                   ├── FluentUiRegularALIkonProvider.java
│   │           │                   ├── FluentUiRegularMZ.java
│   │           │                   ├── FluentUiRegularMZIkonHandler.java
│   │           │                   └── FluentUiRegularMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fluentui/
│   │                           └── 1.1.74/
│   │                               └── css/
│   │                                   ├── FluentSystemIcons-Filled.css
│   │                                   └── FluentSystemIcons-Regular.css
│   ├── ikonli-fontawesome-pack/
│   │   ├── ikonli-fontawesome-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome/
│   │           │                   ├── FontAwesome.java
│   │           │                   ├── FontAwesomeIkonHandler.java
│   │           │                   └── FontAwesomeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome/
│   │                           └── 4.7.0/
│   │                               ├── css/
│   │                               │   └── font-awesome.css
│   │                               └── fonts/
│   │                                   └── FontAwesome.otf
│   ├── ikonli-fontawesome5-pack/
│   │   ├── ikonli-fontawesome5-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome5/
│   │           │                   ├── FontAwesomeBrands.java
│   │           │                   ├── FontAwesomeBrandsIkonHandler.java
│   │           │                   ├── FontAwesomeBrandsIkonProvider.java
│   │           │                   ├── FontAwesomeRegular.java
│   │           │                   ├── FontAwesomeRegularIkonHandler.java
│   │           │                   ├── FontAwesomeRegularIkonProvider.java
│   │           │                   ├── FontAwesomeSolid.java
│   │           │                   ├── FontAwesomeSolidIkonHandler.java
│   │           │                   └── FontAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome5/
│   │                           └── 5.15.3/
│   │                               └── css/
│   │                                   ├── fa-brands.css
│   │                                   ├── fa-regular.css
│   │                                   ├── fa-solid.css
│   │                                   ├── fontawesome-all.css
│   │                                   └── fontawesome.css
│   ├── ikonli-fontawesome6-pack/
│   │   ├── ikonli-fontawesome6-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome6/
│   │           │                   ├── FontAwesomeBrands.java
│   │           │                   ├── FontAwesomeBrandsIkonHandler.java
│   │           │                   ├── FontAwesomeBrandsIkonProvider.java
│   │           │                   ├── FontAwesomeRegular.java
│   │           │                   ├── FontAwesomeRegularIkonHandler.java
│   │           │                   ├── FontAwesomeRegularIkonProvider.java
│   │           │                   ├── FontAwesomeSolid.java
│   │           │                   ├── FontAwesomeSolidIkonHandler.java
│   │           │                   └── FontAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome6/
│   │                           └── 6.5.2/
│   │                               └── css/
│   │                                   ├── all.css
│   │                                   ├── brands.css
│   │                                   ├── fontawesome.css
│   │                                   ├── regular.css
│   │                                   ├── solid.css
│   │                                   ├── svg-with-js.css
│   │                                   ├── v4-font-face.css
│   │                                   ├── v4-shims.css
│   │                                   └── v5-font-face.css
│   ├── ikonli-fontelico-pack/
│   │   ├── ikonli-fontelico-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontelico/
│   │           │                   ├── Fontelico.java
│   │           │                   ├── FontelicoIkonHandler.java
│   │           │                   └── FontelicoIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontelico/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── fontelico.css
│   ├── ikonli-foundation-pack/
│   │   ├── ikonli-foundation-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── foundation/
│   │           │                   ├── Foundation.java
│   │           │                   ├── FoundationIkonHandler.java
│   │           │                   └── FoundationIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── foundation/
│   │                           └── 3.0/
│   │                               └── css/
│   │                                   └── foundation-icons.css
│   ├── ikonli-hawcons-pack/
│   │   ├── ikonli-hawcons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── hawcons/
│   │           │                   ├── HawconsFilled.java
│   │           │                   ├── HawconsFilledIkonHandler.java
│   │           │                   ├── HawconsFilledIkonProvider.java
│   │           │                   ├── HawconsStroke.java
│   │           │                   ├── HawconsStrokeIkonHandler.java
│   │           │                   └── HawconsStrokeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── hawcons/
│   │                           └── 20140708/
│   │                               └── css/
│   │                                   ├── hawconsfilled.css
│   │                                   └── hawconsstroke.css
│   ├── ikonli-icomoon-pack/
│   │   ├── ikonli-icomoon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── icomoon/
│   │           │                   ├── Icomoon.java
│   │           │                   ├── IcomoonIkonHandler.java
│   │           │                   └── IcomoonIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── icomoon/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── icomoon.css
│   ├── ikonli-ionicons-pack/
│   │   ├── ikonli-ionicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ionicons/
│   │           │                   ├── Ionicons.java
│   │           │                   ├── IoniconsIkonHandler.java
│   │           │                   └── IoniconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ionicons/
│   │                           └── 2.0.1/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── ionicons.css
│   ├── ikonli-ionicons4-pack/
│   │   ├── ikonli-ionicons4-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ionicons4/
│   │           │                   ├── Ionicons4IOS.java
│   │           │                   ├── Ionicons4IOSIkonHandler.java
│   │           │                   ├── Ionicons4IOSIkonProvider.java
│   │           │                   ├── Ionicons4Logo.java
│   │           │                   ├── Ionicons4LogoIkonHandler.java
│   │           │                   ├── Ionicons4LogoIkonProvider.java
│   │           │                   ├── Ionicons4Material.java
│   │           │                   ├── Ionicons4MaterialIkonHandler.java
│   │           │                   └── Ionicons4MaterialIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ionicons4/
│   │                           └── 4.1.2/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── ionicons4.css
│   ├── ikonli-jamicons-pack/
│   │   ├── ikonli-jamicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── jam/
│   │           │                   ├── Jam.java
│   │           │                   ├── JamIkonHandler.java
│   │           │                   └── JamIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── jam/
│   │                           └── 3.0.0/
│   │                               └── css/
│   │                                   └── jam.css
│   ├── ikonli-ligaturesymbols-pack/
│   │   ├── ikonli-ligaturesymbols-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ligaturesymbols/
│   │           │                   ├── LigatureSymbols.java
│   │           │                   ├── LigatureSymbolsIkonHandler.java
│   │           │                   └── LigatureSymbolsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ligaturesymbols/
│   │                           └── 2.11/
│   │                               ├── css/
│   │                               │   └── ligaturesymbols.css
│   │                               └── fonts/
│   │                                   └── LigatureSymbols-2.11.otf
│   ├── ikonli-lineawesome-pack/
│   │   ├── ikonli-lineawesome-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── lineawesome/
│   │           │                   ├── LineAwesomeBrands.java
│   │           │                   ├── LineAwesomeBrandsIkonHandler.java
│   │           │                   ├── LineAwesomeBrandsIkonProvider.java
│   │           │                   ├── LineAwesomeRegular.java
│   │           │                   ├── LineAwesomeRegularIkonHandler.java
│   │           │                   ├── LineAwesomeRegularIkonProvider.java
│   │           │                   ├── LineAwesomeSolid.java
│   │           │                   ├── LineAwesomeSolidIkonHandler.java
│   │           │                   └── LineAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── lineawesome/
│   │                           └── 1.3.0/
│   │                               └── css/
│   │                                   ├── la-brands.css
│   │                                   ├── la-regular.css
│   │                                   ├── la-solid.css
│   │                                   └── lineawesome-all.css
│   ├── ikonli-linecons-pack/
│   │   ├── ikonli-linecons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── linecons/
│   │           │                   ├── Linecons.java
│   │           │                   ├── LineconsIkonHandler.java
│   │           │                   └── LineconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── linecons/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── linecons.css
│   ├── ikonli-maki-pack/
│   │   ├── ikonli-maki-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── maki/
│   │           │                   ├── Maki.java
│   │           │                   ├── MakiIkonHandler.java
│   │           │                   └── MakiIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── maki/
│   │                           └── 0.5.0/
│   │                               └── css/
│   │                                   └── maki.css
│   ├── ikonli-maki2-pack/
│   │   ├── ikonli-maki2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── maki2/
│   │           │                   ├── Maki2.java
│   │           │                   ├── Maki2IkonHandler.java
│   │           │                   └── Maki2IkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── maki2/
│   │                           └── 6.2.0/
│   │                               └── css/
│   │                                   └── maki2.css
│   ├── ikonli-mapicons-pack/
│   │   ├── ikonli-mapicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── mapicons/
│   │           │                   ├── Mapicons.java
│   │           │                   ├── MapiconsIkonHandler.java
│   │           │                   └── MapiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── mapicons/
│   │                           └── 3.0.0/
│   │                               └── css/
│   │                                   └── map-icons.css
│   ├── ikonli-material-pack/
│   │   ├── ikonli-material-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── material/
│   │           │                   ├── Material.java
│   │           │                   ├── MaterialIkonHandler.java
│   │           │                   └── MaterialIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── material/
│   │                           └── 50/
│   │                               └── css/
│   │                                   └── material-icons.css
│   ├── ikonli-material2-pack/
│   │   ├── ikonli-material2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── material2/
│   │           │                   ├── Material2AL.java
│   │           │                   ├── Material2ALIkonHandler.java
│   │           │                   ├── Material2ALIkonProvider.java
│   │           │                   ├── Material2MZ.java
│   │           │                   ├── Material2MZIkonHandler.java
│   │           │                   ├── Material2MZIkonProvider.java
│   │           │                   ├── Material2OutlinedAL.java
│   │           │                   ├── Material2OutlinedALIkonHandler.java
│   │           │                   ├── Material2OutlinedALIkonProvider.java
│   │           │                   ├── Material2OutlinedMZ.java
│   │           │                   ├── Material2OutlinedMZIkonHandler.java
│   │           │                   ├── Material2OutlinedMZIkonProvider.java
│   │           │                   ├── Material2RoundAL.java
│   │           │                   ├── Material2RoundALIkonHandler.java
│   │           │                   ├── Material2RoundALIkonProvider.java
│   │           │                   ├── Material2RoundMZ.java
│   │           │                   ├── Material2RoundMZIkonHandler.java
│   │           │                   ├── Material2RoundMZIkonProvider.java
│   │           │                   ├── Material2SharpAL.java
│   │           │                   ├── Material2SharpALIkonHandler.java
│   │           │                   ├── Material2SharpALIkonProvider.java
│   │           │                   ├── Material2SharpMZ.java
│   │           │                   ├── Material2SharpMZIkonHandler.java
│   │           │                   └── Material2SharpMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── material2/
│   │                           └── 20200820/
│   │                               └── css/
│   │                                   ├── md-baseline.css
│   │                                   ├── md-outlined.css
│   │                                   ├── md-round.css
│   │                                   └── md-sharp.css
│   ├── ikonli-materialdesign-pack/
│   │   ├── ikonli-materialdesign-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── materialdesign/
│   │           │                   ├── MaterialDesign.java
│   │           │                   ├── MaterialDesignIkonHandler.java
│   │           │                   └── MaterialDesignIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── materialdesign/
│   │                           └── 1.7.22/
│   │                               └── css/
│   │                                   └── materialdesignicons.css
│   ├── ikonli-materialdesign2-pack/
│   │   ├── ikonli-materialdesign2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── materialdesign2/
│   │           │                   ├── AbstractMaterialDesignIkonHandler.java
│   │           │                   ├── MaterialDesignA.java
│   │           │                   ├── MaterialDesignAIkonHandler.java
│   │           │                   ├── MaterialDesignAIkonProvider.java
│   │           │                   ├── MaterialDesignB.java
│   │           │                   ├── MaterialDesignBIkonHandler.java
│   │           │                   ├── MaterialDesignBIkonProvider.java
│   │           │                   ├── MaterialDesignC.java
│   │           │                   ├── MaterialDesignCIkonHandler.java
│   │           │                   ├── MaterialDesignCIkonProvider.java
│   │           │                   ├── MaterialDesignD.java
│   │           │                   ├── MaterialDesignDIkonHandler.java
│   │           │                   ├── MaterialDesignDIkonProvider.java
│   │           │                   ├── MaterialDesignE.java
│   │           │                   ├── MaterialDesignEIkonHandler.java
│   │           │                   ├── MaterialDesignEIkonProvider.java
│   │           │                   ├── MaterialDesignF.java
│   │           │                   ├── MaterialDesignFIkonHandler.java
│   │           │                   ├── MaterialDesignFIkonProvider.java
│   │           │                   ├── MaterialDesignG.java
│   │           │                   ├── MaterialDesignGIkonHandler.java
│   │           │                   ├── MaterialDesignGIkonProvider.java
│   │           │                   ├── MaterialDesignH.java
│   │           │                   ├── MaterialDesignHIkonHandler.java
│   │           │                   ├── MaterialDesignHIkonProvider.java
│   │           │                   ├── MaterialDesignI.java
│   │           │                   ├── MaterialDesignIIkonHandler.java
│   │           │                   ├── MaterialDesignIIkonProvider.java
│   │           │                   ├── MaterialDesignJ.java
│   │           │                   ├── MaterialDesignJIkonHandler.java
│   │           │                   ├── MaterialDesignJIkonProvider.java
│   │           │                   ├── MaterialDesignK.java
│   │           │                   ├── MaterialDesignKIkonHandler.java
│   │           │                   ├── MaterialDesignKIkonProvider.java
│   │           │                   ├── MaterialDesignL.java
│   │           │                   ├── MaterialDesignLIkonHandler.java
│   │           │                   ├── MaterialDesignLIkonProvider.java
│   │           │                   ├── MaterialDesignM.java
│   │           │                   ├── MaterialDesignMIkonHandler.java
│   │           │                   ├── MaterialDesignMIkonProvider.java
│   │           │                   ├── MaterialDesignN.java
│   │           │                   ├── MaterialDesignNIkonHandler.java
│   │           │                   ├── MaterialDesignNIkonProvider.java
│   │           │                   ├── MaterialDesignO.java
│   │           │                   ├── MaterialDesignOIkonHandler.java
│   │           │                   ├── MaterialDesignOIkonProvider.java
│   │           │                   ├── MaterialDesignP.java
│   │           │                   ├── MaterialDesignPIkonHandler.java
│   │           │                   ├── MaterialDesignPIkonProvider.java
│   │           │                   ├── MaterialDesignQ.java
│   │           │                   ├── MaterialDesignQIkonHandler.java
│   │           │                   ├── MaterialDesignQIkonProvider.java
│   │           │                   ├── MaterialDesignR.java
│   │           │                   ├── MaterialDesignRIkonHandler.java
│   │           │                   ├── MaterialDesignRIkonProvider.java
│   │           │                   ├── MaterialDesignS.java
│   │           │                   ├── MaterialDesignSIkonHandler.java
│   │           │                   ├── MaterialDesignSIkonProvider.java
│   │           │                   ├── MaterialDesignT.java
│   │           │                   ├── MaterialDesignTIkonHandler.java
│   │           │                   ├── MaterialDesignTIkonProvider.java
│   │           │                   ├── MaterialDesignU.java
│   │           │                   ├── MaterialDesignUIkonHandler.java
│   │           │                   ├── MaterialDesignUIkonProvider.java
│   │           │                   ├── MaterialDesignV.java
│   │           │                   ├── MaterialDesignVIkonHandler.java
│   │           │                   ├── MaterialDesignVIkonProvider.java
│   │           │                   ├── MaterialDesignW.java
│   │           │                   ├── MaterialDesignWIkonHandler.java
│   │           │                   ├── MaterialDesignWIkonProvider.java
│   │           │                   ├── MaterialDesignX.java
│   │           │                   ├── MaterialDesignXIkonHandler.java
│   │           │                   ├── MaterialDesignXIkonProvider.java
│   │           │                   ├── MaterialDesignY.java
│   │           │                   ├── MaterialDesignYIkonHandler.java
│   │           │                   ├── MaterialDesignYIkonProvider.java
│   │           │                   ├── MaterialDesignZ.java
│   │           │                   ├── MaterialDesignZIkonHandler.java
│   │           │                   └── MaterialDesignZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── materialdesign2/
│   │                           └── 7.4.47/
│   │                               └── css/
│   │                                   └── materialdesignicons2.css
│   ├── ikonli-medicons-pack/
│   │   ├── ikonli-medicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── medicons/
│   │           │                   ├── Medicons.java
│   │           │                   ├── MediconsIkonHandler.java
│   │           │                   └── MediconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── medicons/
│   │                           └── 20170612/
│   │                               └── css/
│   │                                   └── medicons.css
│   ├── ikonli-metrizeicons-pack/
│   │   ├── ikonli-metrizeicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── metrizeicons/
│   │           │                   ├── MetrizeIcons.java
│   │           │                   ├── MetrizeIconsIkonHandler.java
│   │           │                   └── MetrizeIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── metrizeicons/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── metrizeicons.css
│   ├── ikonli-microns-pack/
│   │   ├── ikonli-microns-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── microns/
│   │           │                   ├── Microns.java
│   │           │                   ├── MicronsIkonHandler.java
│   │           │                   └── MicronsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── microns/
│   │                           └── 1.0.8/
│   │                               └── css/
│   │                                   └── microns.css
│   ├── ikonli-ociicons-pack/
│   │   ├── ikonli-ociicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ociicons/
│   │           │                   ├── Ociicons.java
│   │           │                   ├── OciiconsIkonHandler.java
│   │           │                   └── OciiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ociicons/
│   │                           └── 1.0/
│   │                               └── css/
│   │                                   └── ociicons.css
│   ├── ikonli-octicons-pack/
│   │   ├── ikonli-octicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── octicons/
│   │           │                   ├── Octicons.java
│   │           │                   ├── OcticonsIkonHandler.java
│   │           │                   └── OcticonsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── octicons/
│   │                           └── 14.2.2/
│   │                               ├── LICENSE.txt
│   │                               └── css/
│   │                                   └── octicons.css
│   ├── ikonli-openiconic-pack/
│   │   ├── ikonli-openiconic-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── openiconic/
│   │           │                   ├── Openiconic.java
│   │           │                   ├── OpeniconicIkonHandler.java
│   │           │                   └── OpeniconicIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── openiconic/
│   │                           └── 1.1.0/
│   │                               ├── css/
│   │                               │   └── open-iconic.css
│   │                               └── fonts/
│   │                                   └── open-iconic.otf
│   ├── ikonli-paymentfont-pack/
│   │   ├── ikonli-paymentfont-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── paymentfont/
│   │           │                   ├── PaymentFont.java
│   │           │                   ├── PaymentFontIkonHandler.java
│   │           │                   └── PaymentFontIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── paymentfont/
│   │                           └── 1.2.5/
│   │                               └── css/
│   │                                   └── paymentfont.css
│   ├── ikonli-prestashopicons-pack/
│   │   ├── ikonli-prestashopicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── prestashopicons/
│   │           │                   ├── PrestaShopIcons.java
│   │           │                   ├── PrestaShopIconsIkonHandler.java
│   │           │                   └── PrestaShopIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── prestashopicons/
│   │                           └── 0.8.0/
│   │                               └── css/
│   │                                   └── prestashopicons.css
│   ├── ikonli-remixicon-pack/
│   │   ├── ikonli-remixicon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── remixicon/
│   │           │                   ├── RemixiconAL.java
│   │           │                   ├── RemixiconALIkonHandler.java
│   │           │                   ├── RemixiconALIkonProvider.java
│   │           │                   ├── RemixiconMZ.java
│   │           │                   ├── RemixiconMZIkonHandler.java
│   │           │                   └── RemixiconMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── remixicon/
│   │                           └── 2.5.0/
│   │                               └── css/
│   │                                   └── remixicon.css
│   ├── ikonli-runestroicons-pack/
│   │   ├── ikonli-runestroicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── runestroicons/
│   │           │                   ├── Runestroicons.java
│   │           │                   ├── RunestroiconsIkonHandler.java
│   │           │                   └── RunestroiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── runestroicons/
│   │                           └── 5.6/
│   │                               └── css/
│   │                                   └── runestroicons.css
│   ├── ikonli-simpleicons-pack/
│   │   ├── ikonli-simpleicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── simpleicons/
│   │           │                   ├── SimpleIcons.java
│   │           │                   ├── SimpleIconsIkonHandler.java
│   │           │                   └── SimpleIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── simpleicons/
│   │                           └── 3.12.2/
│   │                               └── css/
│   │                                   └── simpleicons.css
│   ├── ikonli-simplelineicons-pack/
│   │   ├── ikonli-simplelineicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── simplelineicons/
│   │           │                   ├── SimpleLineIcons.java
│   │           │                   ├── SimpleLineIconsIkonHandler.java
│   │           │                   └── SimpleLineIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── simplelineicons/
│   │                           └── 2.5.4/
│   │                               └── css/
│   │                                   └── simple-line-icons.css
│   ├── ikonli-subway-pack/
│   │   ├── ikonli-subway-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── subway/
│   │           │                   ├── Subway.java
│   │           │                   ├── SubwayIkonHandler.java
│   │           │                   └── SubwayIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── subway/
│   │                           └── 20201108/
│   │                               └── css/
│   │                                   └── subway.css
│   ├── ikonli-themify-pack/
│   │   ├── ikonli-themify-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── themify/
│   │           │                   ├── Themify.java
│   │           │                   ├── ThemifyIkonHandler.java
│   │           │                   └── ThemifyIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── themify/
│   │                           └── 1.0.1/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── themify-icons.css
│   ├── ikonli-typicons-pack/
│   │   ├── ikonli-typicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── typicons/
│   │           │                   ├── Typicons.java
│   │           │                   ├── TypiconsIkonHandler.java
│   │           │                   └── TypiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── typicons/
│   │                           └── 2.0.7/
│   │                               ├── LICENCE.md
│   │                               └── css/
│   │                                   └── typicons.css
│   ├── ikonli-unicons-pack/
│   │   ├── ikonli-unicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── unicons/
│   │           │                   ├── UniconsLine.java
│   │           │                   ├── UniconsLineIkonHandler.java
│   │           │                   ├── UniconsLineIkonProvider.java
│   │           │                   ├── UniconsMonochrome.java
│   │           │                   ├── UniconsMonochromeIkonHandler.java
│   │           │                   ├── UniconsMonochromeIkonProvider.java
│   │           │                   ├── UniconsSolid.java
│   │           │                   ├── UniconsSolidIkonHandler.java
│   │           │                   └── UniconsSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── unicons/
│   │                           └── 20201106/
│   │                               └── css/
│   │                                   ├── unicons-line.css
│   │                                   ├── unicons-monochrome.css
│   │                                   └── unicons-solid.css
│   ├── ikonli-weathericons-pack/
│   │   ├── ikonli-weathericons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── weathericons/
│   │           │                   ├── WeatherIcons.java
│   │           │                   ├── WeatherIconsIkonHandler.java
│   │           │                   └── WeatherIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── weathericons/
│   │                           └── 2.0.10/
│   │                               └── css/
│   │                                   └── weather-icons.css
│   ├── ikonli-websymbols-pack/
│   │   ├── ikonli-websymbols-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── websymbols/
│   │           │                   ├── Websymbols.java
│   │           │                   ├── WebsymbolsIkonHandler.java
│   │           │                   └── WebsymbolsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── websymbols/
│   │                           └── 0.0/
│   │                               ├── css/
│   │                               │   └── websymbols.css
│   │                               └── fonts/
│   │                                   └── foo.html
│   ├── ikonli-whhg-pack/
│   │   ├── ikonli-whhg-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── whhg/
│   │           │                   ├── WhhgAL.java
│   │           │                   ├── WhhgALIkonHandler.java
│   │           │                   ├── WhhgALIkonProvider.java
│   │           │                   ├── WhhgMZ.java
│   │           │                   ├── WhhgMZIkonHandler.java
│   │           │                   └── WhhgMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── whhg/
│   │                           └── 20201105/
│   │                               └── css/
│   │                                   └── whhg.css
│   ├── ikonli-win10-pack/
│   │   ├── ikonli-win10-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── win10/
│   │           │                   ├── Win10.java
│   │           │                   ├── Win10IkonHandler.java
│   │           │                   └── Win10IkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── win10/
│   │                           └── 1.0.1/
│   │                               └── css/
│   │                                   └── icons8-win10.css
│   └── ikonli-zondicons-pack/
│       ├── ikonli-zondicons-pack.gradle
│       └── src/
│           └── main/
│               ├── java/
│               │   ├── module-info.java
│               │   └── org/
│               │       └── kordamp/
│               │           └── ikonli/
│               │               └── zondicons/
│               │                   ├── Zondicons.java
│               │                   ├── ZondiconsIkonHandler.java
│               │                   └── ZondiconsIkonProvider.java
│               └── resources/
│                   └── META-INF/
│                       └── resources/
│                           └── zondicons/
│                               └── 20170712/
│                                   └── css/
│                                       └── zondicons.css
├── infra/
│   ├── ikonli-nativeimage-annotations/
│   │   ├── gradle.properties
│   │   ├── ikonli-nativeimage-annotations.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               ├── module-info.java
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── infra/
│   │                               └── nativeimage/
│   │                                   └── annotations/
│   │                                       ├── NativeImage.java
│   │                                       ├── ProxyConfig.java
│   │                                       └── ReflectConfig.java
│   └── ikonli-nativeimage-processor/
│       ├── gradle.properties
│       ├── ikonli-nativeimage-processor.gradle
│       └── src/
│           └── main/
│               └── java/
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── infra/
│                                   └── nativeimage/
│                                       └── processor/
│                                           ├── AbstractCompositeGeneratorProcessor.java
│                                           ├── AbstractGenerator.java
│                                           ├── AbstractNativeImageProcessor.java
│                                           ├── Constants.java
│                                           ├── Context.java
│                                           ├── Generator.java
│                                           ├── ProcessorUtil.java
│                                           ├── ProxyConfigGenerator.java
│                                           ├── ProxyConfigProcessor.java
│                                           ├── ReflectConfigGenerator.java
│                                           └── ReflectConfigProcessor.java
├── jreleaser.yml
└── settings.gradle

================================================
FILE CONTENTS
================================================

================================================
FILE: .bach/bach.info/module-info.java
================================================
import com.github.sormuras.bach.api.ProjectInfo;
import com.github.sormuras.bach.api.ProjectInfo.Tool;
import com.github.sormuras.bach.api.ProjectInfo.Tweak;

@ProjectInfo(
    version = "12.3.1",

    tool = @Tool(
        tweaks = {@Tweak(
            tool = "javac",
            with = "-encoding",
            more = "UTF-8"
        ), @Tweak(
            tool = "javac",
            with = "--processor-path",
            more = ".bach/external-modules/jipsy-processor-1.1.1.jar:.bach/external-modules/org.kordamp.jipsy.annotations.jar"
        ), @Tweak(
            tool = "javac",
            with = "--default-module-for-created-files",
            more = "org.kordamp.ikonli.core"
        ), @Tweak(
            tool = "jlink",
            with = "--launcher",
            more = "browxer=org.kordamp.ikonli.browser/org.kordamp.ikonli.browser.Launcher"
        )}
    )
)
module bach.info {
    requires com.github.sormuras.bach;
}

================================================
FILE: .github/FUNDING.yml
================================================
patreon: aalmiray
github: aalmiray
tidelift: "maven/org.kordamp.ikonli:ikonli-core"


================================================
FILE: .github/workflows/build.yml
================================================
name: Build

on:
  pull_request:

jobs:
  build:
    name: Build
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, macos-13, windows-latest ]
    runs-on: ${{ matrix.os }}
    if: startsWith(github.event.head_commit.message, 'Releasing version') != true

    steps:
      - uses: actions/checkout@v4

      - name: Setup Java
        uses: actions/setup-java@v4
        with:
          java-version: 21
          distribution: zulu
          cache: gradle

      - name: Build
        run: ./gradlew build -S


================================================
FILE: .github/workflows/early-access.yml
================================================
name: EarlyAccess

on:
  push:
    branches: [ master ]

jobs:
  precheck:
    name: Precheck
    if: startsWith(github.event.head_commit.message, 'Releasing version') != true
    runs-on: ubuntu-latest
    outputs:
      VERSION: ${{ steps.vars.outputs.VERSION }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Cancel previous run
        uses: styfle/cancel-workflow-action@0.12.1
        with:
          access_token: ${{ secrets.GITHUB_TOKEN }}

      - name: Version
        id: vars
        shell: bash
        run: |
          echo "VERSION=$(cat VERSION)" >> $GITHUB_OUTPUT

  build:
    name: Build
    needs: [precheck]
    if: endsWith(${{ needs.precheck.outputs.VERSION }}, '-SNAPSHOT')
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, macos-13, windows-latest ]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v4

      - name: Setup Java
        uses: actions/setup-java@v4
        with:
          java-version: 21
          distribution: zulu
          cache: gradle

      - name: Build
        run: ./gradlew -PreproducibleBuild=true build

      - name: Assemble
        run: ./gradlew -PreproducibleBuild=true :ikonli-browser:jlinkZip :ikonli-browser:jpackage

      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: artifacts-${{ runner.os }}-${{ runner.arch }}
          if-no-files-found: ignore
          retention-days: 1
          path: |
            apps/ikonli-browser/build/distributions/ikonli-browser-*.zip
            apps/ikonli-browser/build/packagers/ikonli-browser-*.rpm
            apps/ikonli-browser/build/packagers/ikonli-browser-*.dmg
            apps/ikonli-browser/build/packagers/ikonli-browser-*.exe
            apps/ikonli-browser/build/packagers/ikonli-browser-*.msi
            apps/ikonli-browser/build/packagers/ikonli-browser-*.pkg
            apps/ikonli-browser/build/packagers/ikonli-browser-*.deb

  release:
    name: Release
    needs: [precheck, build]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Download build artifacts
        uses: actions/download-artifact@v4
        with:
          pattern: artifacts-*
          merge-multiple: true
          path: artifacts

      - name: Release
        uses: jreleaser/release-action@v2
        with:
          version: early-access
          arguments: full-release -P artifactsDir=artifacts
        env:
          JRELEASER_PROJECT_VERSION: ${{ needs.precheck.outputs.VERSION }}
          JRELEASER_GITHUB_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }}
          JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
          JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
          JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}

      - name: JReleaser output
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: jreleaser-release
          path: |
            out/jreleaser/trace.log
            out/jreleaser/output.properties


================================================
FILE: .github/workflows/release.yml
================================================
name: Release

on:
  workflow_dispatch:
    inputs:
      version:
        description: 'Release version'
        required: true

jobs:
  precheck:
    name: Precheck
    runs-on: ubuntu-latest
    outputs:
      VERSION: ${{ steps.vars.outputs.VERSION }}
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Cancel previous run
        uses: styfle/cancel-workflow-action@0.12.1
        with:
          access_token: ${{ secrets.GITHUB_TOKEN }}

      - name: Version
        id: vars
        shell: bash
        run: |
          echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT

  build:
    name: Build
    needs: [precheck]
    strategy:
      fail-fast: false
      matrix:
        os: [ ubuntu-latest, macos-13, windows-latest ]
    runs-on: ${{ matrix.os }}

    steps:
      - name: Check out repository
        uses: actions/checkout@v4

      - name: Setup Java
        uses: actions/setup-java@v4
        with:
          java-version: 21
          distribution: zulu
          cache: gradle

      - name: Version
        run: |
          echo ${{ needs.precheck.outputs.VERSION }} > VERSION

      - name: Build
        run: ./gradlew -PreproducibleBuild=true build

      - name: Assemble
        run: ./gradlew -PreproducibleBuild=true :ikonli-browser:jlinkZip :ikonli-browser:jpackage

      - name: Upload artifacts
        uses: actions/upload-artifact@v4
        with:
          name: artifacts-${{ runner.os }}-${{ runner.arch }}
          if-no-files-found: ignore
          retention-days: 1
          path: |
            apps/ikonli-browser/build/distributions/ikonli-browser-*.zip
            apps/ikonli-browser/build/packagers/ikonli-browser-*.rpm
            apps/ikonli-browser/build/packagers/ikonli-browser-*.dmg
            apps/ikonli-browser/build/packagers/ikonli-browser-*.exe
            apps/ikonli-browser/build/packagers/ikonli-browser-*.msi
            apps/ikonli-browser/build/packagers/ikonli-browser-*.pkg
            apps/ikonli-browser/build/packagers/ikonli-browser-*.deb

  release:
    name: Release
    needs: [precheck, build]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Download build artifacts
        uses: actions/download-artifact@v4
        with:
          pattern: artifacts-*
          merge-multiple: true
          path: artifacts

      - name: Setup Java
        uses: actions/setup-java@v4
        with:
          java-version: 21
          distribution: zulu
          cache: gradle

      - name: Version
        run: |
          echo ${{ needs.precheck.outputs.VERSION }} > VERSION
          git add VERSION
          sed -i -e "s/^\:project-version\:\ .*/:project-version: ${{ needs.precheck.outputs.VERSION }}/g" README.adoc
          git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git config --global user.name "GitHub Action"
          git commit -a -m "Releasing version ${{ needs.precheck.outputs.VERSION }}"
          git push origin master

      - name: Deploy
        run: |
          ./gradlew -Pprofile=release,sbom -PreproducibleBuild=true publish -S

      - name: Upload deploy artifacts
        uses: actions/upload-artifact@v4
        with:
          retention-days: 7
          name: deploy
          path: |
            build/repos/local/release/

      - name: Release
        uses: jreleaser/release-action@v2
        with:
          arguments: full-release -P artifactsDir=artifacts
        env:
          JRELEASER_PROJECT_VERSION: ${{ needs.precheck.outputs.VERSION }}
          JRELEASER_GITHUB_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }}
          JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
          JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
          JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
          JRELEASER_MASTODON_ACCESS_TOKEN: ${{ secrets.MASTODON_ACCESS_TOKEN }}
          JRELEASER_NEXUS2_MAVEN_CENTRAL_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
          JRELEASER_NEXUS2_MAVEN_CENTRAL_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}

      - name: JReleaser release output
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: jreleaser-release
          path: |
            out/jreleaser/trace.log
            out/jreleaser/output.properties


================================================
FILE: .gitignore
================================================
.gradle
*.iml
*.ipr
*.iws
.idea
build
out
target
.classpath
.project
.gen-changelog.sh
.tmp
.DS_Store
jdks
.bach/workspace
.bach/external-tools
.bach/external-modules
bin
.settings

================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS


================================================
FILE: README.adoc
================================================
= Ikonli
:linkattrs:
:project-owner:   kordamp
:project-repo:    maven
:project-name:    ikonli
:project-group:   org.kordamp.ikonli
:project-version: 12.4.0

image:https://img.shields.io/github/actions/workflow/status/{project-owner}/{project-name}/early-access.yml?branch=master&logo=github&label=Build["Build Status", link="https://github.com/{project-owner}/{project-name}/actions"]
image:https://img.shields.io/maven-central/v/{project-group}/{project-name}-core.svg?label=maven[link="https://search.maven.org/#search|ga|1|{project-group}"]
image:https://img.shields.io/badge/Find_me_on-JFXCentral-blue?logo=googlechrome&logoColor=white["JFXCentral", link="https://www.jfx-central.com/libraries/{project-name}"]

---

Ikonli provides icon packs that can be used in Java applications. Currently Swing and JavaFX UI toolkits are supported.

== Installing

You can get the latest version of **Ikonli** directly from link:https://search.maven.org/#search|ga|1|{project-group}[Maven Central].

Refer to the link:http://{project-owner}.github.io/ikonli/[guide, window="_blank"] for further information on configuration
and usage.

== Building

You must meet the following requirements:

 * JDK11 as a minimum
 * Gradle 6.4+

You may use the included gradle wrapper script if you don't have `gradle` installed.

Adapt these instructions to Windows settings if running on Windows.

=== Installing Gradle

.Manual

 . Download Gradle from http://gradle.org/downloads
 . Unzip the file into a directory without spaces (recommended).
 . Create a GRADLE_HOME environment variable that points to this directory.
 . Adjust your PATH environment variable to include $GRADLE_HOME/bin (%GRADLE_HOME%\bin on Windows).
 . Test your setup by invoking `gradle --version`.

.SDKMAN

 . Follow the instructions found at http://sdkman.io/ to install SDKMAN.
 . You need a POSIX environment if running Windows. We recommend using Babun Shell (http://babun.github.io/)
 . Once SDKMAN is installed invoke `sdk install gradle 6.9.2`.
 . Test your setup by invoking `gradle --version`.

.Gum

Gum is a wrapper script that facilitates invoking gradle tasks anywhere within a Gradle project. It's smart enough
to use the gradle wrapper if available or your global gradle command. This is an optional download.

 . Follow the instructions found at https://github.com/kordamp/gm to install gum

=== Next Steps

Make a full build issuing `gm build`.

Run the sampler JavaFX application by invoking the following command
[source]
----
$ gm :sampler-javafx:run
----

Run the sampler Swing application by invoking the following command
[source]
----
$ gm :sampler-swing:run
----

Run the Ikonli Browser application  by invoking the following command
[source]
----
$ gm :ikonli-browser:run
----

=== Publishing your own SNAPSHOT

You can publish a local snapshot release by issuing this command

[source]
----
$ gm install
----

If you don't Gum installed then issue this command

[source]
----
$ ./gradlew publishToMavenLocal
----



================================================
FILE: SECURITY.md
================================================
## Security contact information

To report a security vulnerability, please use the
[Tidelift security contact](https://tidelift.com/security).
Tidelift will coordinate the fix and disclosure.


================================================
FILE: VERSION
================================================
12.5.0-SNAPSHOT


================================================
FILE: apps/ikonli-browser/ikonli-browser.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
plugins {
    id 'application'
    id 'org.beryx.jlink'
    id 'org.jreleaser.jdks'
}

application {
    mainModule = 'org.kordamp.ikonli.browser'
    mainClass = 'org.kordamp.ikonli.browser.Launcher'
    applicationName = 'ikonli-browser'
}

repositories {
    mavenLocal()
}

dependencies {
    implementation('org.kordamp.bootstrapfx:bootstrapfx-core:0.4.0') { transitive = false }
    implementation('org.kordamp.desktoppanefx:desktoppanefx-core:0.15.0') { transitive = false }
    implementation "com.miglayout:miglayout-javafx:$miglayoutVersion"

    implementation project(':ikonli-core')
    implementation project(':ikonli-javafx')
    implementation project(':ikonli-antdesignicons-pack')
    implementation project(':ikonli-bootstrapicons-pack')
    implementation project(':ikonli-boxicons-pack')
    implementation project(':ikonli-bpmn-pack')
    implementation project(':ikonli-bytedance-pack')
    implementation project(':ikonli-captainicon-pack')
    implementation project(':ikonli-carbonicons-pack')
    implementation project(':ikonli-codicons-pack')
    implementation project(':ikonli-coreui-pack')
    implementation project(':ikonli-dashicons-pack')
    implementation project(':ikonli-devicons-pack')
    implementation project(':ikonli-elusive-pack')
    implementation project(':ikonli-entypo-pack')
    implementation project(':ikonli-evaicons-pack')
    implementation project(':ikonli-feather-pack')
    implementation project(':ikonli-fileicons-pack')
    implementation project(':ikonli-fluentui-pack')
    implementation project(':ikonli-fontawesome-pack')
    implementation project(':ikonli-fontawesome5-pack')
    implementation project(':ikonli-fontawesome6-pack')
    implementation project(':ikonli-fontelico-pack')
    implementation project(':ikonli-foundation-pack')
    implementation project(':ikonli-hawcons-pack')
    implementation project(':ikonli-icomoon-pack')
    implementation project(':ikonli-ionicons-pack')
    implementation project(':ikonli-ionicons4-pack')
    implementation project(':ikonli-jamicons-pack')
    implementation project(':ikonli-ligaturesymbols-pack')
    implementation project(':ikonli-lineawesome-pack')
    implementation project(':ikonli-linecons-pack')
    implementation project(':ikonli-maki-pack')
    implementation project(':ikonli-maki2-pack')
    implementation project(':ikonli-mapicons-pack')
    implementation project(':ikonli-material-pack')
    implementation project(':ikonli-material2-pack')
    implementation project(':ikonli-materialdesign-pack')
    implementation project(':ikonli-materialdesign2-pack')
    implementation project(':ikonli-medicons-pack')
    implementation project(':ikonli-metrizeicons-pack')
    implementation project(':ikonli-microns-pack')
    implementation project(':ikonli-ociicons-pack')
    implementation project(':ikonli-octicons-pack')
    implementation project(':ikonli-openiconic-pack')
    implementation project(':ikonli-paymentfont-pack')
    implementation project(':ikonli-prestashopicons-pack')
    implementation project(':ikonli-remixicon-pack')
    implementation project(':ikonli-runestroicons-pack')
    implementation project(':ikonli-simpleicons-pack')
    implementation project(':ikonli-simplelineicons-pack')
    implementation project(':ikonli-subway-pack')
    implementation project(':ikonli-themify-pack')
    implementation project(':ikonli-typicons-pack')
    implementation project(':ikonli-unicons-pack')
    implementation project(':ikonli-weathericons-pack')
    implementation project(':ikonli-websymbols-pack')
    implementation project(':ikonli-whhg-pack')
    implementation project(':ikonli-win10-pack')
    implementation project(':ikonli-zondicons-pack')

    implementation "org.openjfx:javafx-base:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-graphics:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-controls:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-fxml:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-media:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-swing:${javafxVersion}:${javafx_platform}"
}

config {
    info {
        description = 'Ikonli icon browser'
    }

    publishing {
        enabled = false
    }
}

license {
    exclude 'eu/hansolo/**/*'
}

processResources {
    expand(
        'ikonli_version': version
    )
}

ext {
    zuluPlatform = rootProject.javafx_platform == 'mac' ? 'macosx' : rootProject.javafx_platform
    zuluHome = project.file("${buildDir}/jdks/zulu21Linux/${zuluVersion}-${zuluPlatform}_x64")
}
if (rootProject.javafx_platform == 'mac') {
    zuluHome = project.file("${buildDir}/jdks/zulu21Osx/${zuluVersion}-${zuluPlatform}_x64/zulu-21.jdk/Contents/Home")
} else if (rootProject.javafx_platform == 'win') {
    zuluHome = project.file("${buildDir}/jdks/zulu21Windows/${zuluVersion}-${zuluPlatform}_x64")
}
System.properties['badass.jlink.java.home'] = zuluHome.absolutePath
System.properties['badass.jlink.jpackage.home'] = zuluHome.absolutePath

jdks {
    zulu21Linux {
        platform = 'linux-x86_64'
        url = 'https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-linux_x64.tar.gz'
        checksum = '5320a33714f58c0104191d244759daa6a6d46819d447347ba9003132e5489d92'
    }
    zulu21Windows {
        platform = 'windows-x86_64'
        url = 'https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-win_x64.zip'
        checksum = '8dea44fd3a6f7ad0f42f38abc1371075710b58bed9bd8f093c2ef2d450dd2672'
    }
    zulu21Osx {
        platform = 'osx-x86_64'
        url = 'https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-macosx_x64.zip'
        checksum = 'a77a9c67d8f9a2341674bcea7056d9d70f69ff0850dd3874303641cc9cec2dfc'
    }
}

jlink {
    imageDir = file("${buildDir}/jlink/ikonli-browser-${version}-${platform}")
    imageZip = file("${buildDir}/distributions/ikonli-browser-${version}-${platform}.zip")
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']

    launcher {
        noConsole = true
    }

    addExtraDependencies('javafx')

    jpackage {
        appVersion = rootProject.baseVersion
        outputDir = 'packagers'
        def imgType = rootProject.javafx_platform == 'win' ? 'ico' : rootProject.javafx_platform == 'mac' ? 'icns' : 'png'
        imageOptions += ['--icon', "apps/ikonli-browser/src/main/jpackage/icons/ikonli-browser.$imgType"]
        installerOptions += ['--resource-dir', 'apps/ikonli-browser/src/main/resources']
        installerOptions += ['--vendor', 'Kordamp']
        if (rootProject.javafx_platform == 'win') {
            installerOptions += ['--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-shortcut']
        } else if (rootProject.javafx_platform == 'linux') {
            installerOptions += ['--linux-package-name', 'ikonli-browser', '--linux-shortcut']
        } else if (rootProject.javafx_platform == 'mac') {
            installerOptions += ['--mac-package-name', 'ikonli-browser']
        }
    }
}

afterEvaluate {
    tasks.findByName('jpackageImage').dependsOn(tasks.findByName('jlinkZip'))
    def copyJdksToCache = project.tasks.findByName('copyJdksToCache')
    ['zulu21Linux', 'zulu21Windows', 'zulu21Osx',].each { jdk ->
        def copyTask = project.tasks.findByName('copyJdkFromCache' + jdk.capitalize())
        if (copyJdksToCache && copyTask) copyTask.dependsOn(copyJdksToCache)
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/eu/hansolo/tilesfx/tools/FlowGridPane.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2016-2020 Gerrit Grunwald.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package eu.hansolo.tilesfx.tools;

import javafx.beans.NamedArg;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.IntegerPropertyBase;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.RowConstraints;


/**
 * Created by hansolo on 10.02.17.
 */
public class FlowGridPane extends GridPane {
    private boolean         internalCall;
    private int             _noOfCols;
    private int             _noOfRows;
    private IntegerProperty noOfCols;
    private IntegerProperty noOfRows;


    // ******************** Constructors **************************************
    public FlowGridPane(final @NamedArg("NO_OF_COLS")int NO_OF_COLS, final @NamedArg("NO_OF_ROWS")int NO_OF_ROWS) {
        super();
        internalCall = false;
        _noOfCols    = NO_OF_COLS;
        _noOfRows    = NO_OF_ROWS;
        noOfCols     = new IntegerPropertyBase(NO_OF_COLS) {
            @Override protected void invalidated() {
                ObservableList<ColumnConstraints> constraints = getColumnConstraints();
                constraints.clear();
                int cols = get();
                for (int i = 0 ; i < cols ; ++i) {
                    ColumnConstraints c = new ColumnConstraints();
                    c.setHalignment(HPos.CENTER);
                    c.setHgrow(Priority.ALWAYS);
                    c.setMinWidth(60);
                    constraints.add(c);
                }
                set(cols);
                relayout();
                if (internalCall) return;
                _noOfCols = cols;
            }
            @Override public Object getBean() { return FlowGridPane.this; }
            @Override public String getName() { return "noOfCols"; }
        };
        noOfRows     = new IntegerPropertyBase(NO_OF_ROWS) {
            @Override protected void invalidated() {
                ObservableList<RowConstraints> constraints = getRowConstraints();
                constraints.clear();
                int rows = get();
                for (int i=0; i < rows; ++i) {
                    RowConstraints r = new RowConstraints();
                    r.setValignment(VPos.CENTER);
                    r.setVgrow(Priority.ALWAYS);
                    r.setMinHeight(20);
                    constraints.add(r);
                }
                set(rows);
                relayout();
                if (internalCall) return;
                _noOfRows = rows;
            }
            @Override public Object getBean() { return FlowGridPane.this; }
            @Override public String getName() { return "noOfRows"; }
        };
        getChildren().addListener((ListChangeListener<Node>) change -> relayout());
        registerListeners();
    }
    public FlowGridPane(final @NamedArg("NO_OF_COLS")int NO_OF_COLS, final @NamedArg("NO_OF_ROWS")int NO_OF_ROWS, final Node... NODES) {
        super();
        internalCall = false;
        _noOfCols    = NO_OF_COLS;
        _noOfRows    = NO_OF_ROWS;
        noOfCols     = new IntegerPropertyBase(NO_OF_COLS) {
            @Override protected void invalidated() {
                ObservableList<ColumnConstraints> constraints = getColumnConstraints();
                constraints.clear();
                int cols = get();
                for (int i = 0 ; i < cols ; ++i) {
                    ColumnConstraints c = new ColumnConstraints();
                    c.setHalignment(HPos.CENTER);
                    c.setHgrow(Priority.ALWAYS);
                    c.setMinWidth(60);
                    constraints.add(c);
                }
                set(cols);
                relayout();
                if (internalCall) return;
                _noOfCols = cols;
            }
            @Override public Object getBean() { return FlowGridPane.this; }
            @Override public String getName() { return "noOfCols"; }
        };
        noOfRows     = new IntegerPropertyBase(NO_OF_ROWS) {
            @Override protected void invalidated() {
                ObservableList<RowConstraints> constraints = getRowConstraints();
                constraints.clear();
                int rows = get();
                for (int i=0; i < rows; ++i) {
                    RowConstraints r = new RowConstraints();
                    r.setValignment(VPos.CENTER);
                    r.setVgrow(Priority.ALWAYS);
                    r.setMinHeight(20);
                    constraints.add(r);
                }
                set(rows);
                relayout();
                if (internalCall) return;
                _noOfRows = rows;
            }
            @Override public Object getBean() { return FlowGridPane.this; }
            @Override public String getName() { return "noOfRows"; }
        };
        getChildren().addListener((ListChangeListener<Node>) change -> relayout());
        registerListeners();
        if (null != NODES) { getChildren().setAll(NODES); }
    }

    private void registerListeners() {
        widthProperty().addListener(o -> checkAspectRatio());
        heightProperty().addListener(o -> checkAspectRatio());
    }


    // ******************** Methods *******************************************
    public Integer getNoOfCols() { return noOfCols.get(); }
    public void setNoOfCols(final Integer COLS) { noOfCols.set(COLS); }
    public IntegerProperty noOfColsProperty() { return noOfCols; }

    public Integer getNoOfRows() { return noOfRows.get(); }
    public void setNoOfRows(final Integer ROWS) { noOfRows.set(ROWS); }
    public IntegerProperty noOfRowsProperty() { return noOfRows; }

    public void setNoOfColsAndNoOfRows(final int COLS, final int ROWS) {
        setNoOfCols(COLS);
        setNoOfRows(ROWS);
    }

    private int coordsToOffset(final int COL, final int ROW) { return ROW * noOfCols.get() + COL; }
    private int offsetToCol(final int OFFSET) { return OFFSET % noOfCols.get(); }
    private int offsetToRow(final int OFFSET) { return OFFSET / noOfCols.get(); }

    private void checkAspectRatio() {
        internalCall = true;
        if (getWidth() < getHeight()) {
            setNoOfColsAndNoOfRows(_noOfRows, _noOfCols);
        } else {
            setNoOfColsAndNoOfRows(_noOfCols, _noOfRows);
        }
        internalCall = false;
        relayout();
    }

    private void relayout() {
        ObservableList<Node> children = getChildren();
        int    lastColSpan = 0;
        int    lastRowSpan = 0;
        for (Node child : children ) {
            int offs = children.indexOf(child);
            GridPane.setConstraints(child, offsetToCol(offs + lastColSpan), offsetToRow(offs + lastRowSpan));
            //lastColSpan = GridPane.getColumnSpan(child) == null ? 0 : GridPane.getColumnSpan(child);
            //lastRowSpan = GridPane.getRowSpan(child) == null ? 0 : GridPane.getRowSpan(child);
        }
    }
}

================================================
FILE: apps/ikonli-browser/src/main/java/module-info.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module org.kordamp.ikonli.browser {
    exports org.kordamp.ikonli.browser;
    opens org.kordamp.ikonli.browser;
    requires javafx.base;
    requires javafx.graphics;
    requires javafx.controls;
    requires com.miglayout.javafx;
    requires org.kordamp.bootstrapfx.core;
    requires org.kordamp.desktoppanefx.core;
    requires org.kordamp.ikonli.core;
    requires org.kordamp.ikonli.javafx;
    requires org.kordamp.ikonli.antdesignicons;
    requires org.kordamp.ikonli.bootstrapicons;
    requires org.kordamp.ikonli.boxicons;
    requires org.kordamp.ikonli.bpmn;
    requires org.kordamp.ikonli.bytedance;
    requires org.kordamp.ikonli.captainicon;
    requires org.kordamp.ikonli.carbonicons;
    requires org.kordamp.ikonli.codicons;
    requires org.kordamp.ikonli.coreui;
    requires org.kordamp.ikonli.dashicons;
    requires org.kordamp.ikonli.devicons;
    requires org.kordamp.ikonli.elusive;
    requires org.kordamp.ikonli.entypo;
    requires org.kordamp.ikonli.evaicons;
    requires org.kordamp.ikonli.feather;
    requires org.kordamp.ikonli.fileicons;
    requires org.kordamp.ikonli.fluentui;
    requires org.kordamp.ikonli.fontawesome;
    requires org.kordamp.ikonli.fontawesome5;
    requires org.kordamp.ikonli.fontawesome6;
    requires org.kordamp.ikonli.fontelico;
    requires org.kordamp.ikonli.foundation;
    requires org.kordamp.ikonli.hawcons;
    requires org.kordamp.ikonli.icomoon;
    requires org.kordamp.ikonli.ionicons;
    requires org.kordamp.ikonli.ionicons4;
    requires org.kordamp.ikonli.jam;
    requires org.kordamp.ikonli.ligaturesymbols;
    requires org.kordamp.ikonli.lineawesome;
    requires org.kordamp.ikonli.linecons;
    requires org.kordamp.ikonli.maki;
    requires org.kordamp.ikonli.maki2;
    requires org.kordamp.ikonli.mapicons;
    requires org.kordamp.ikonli.material;
    requires org.kordamp.ikonli.material2;
    requires org.kordamp.ikonli.materialdesign;
    requires org.kordamp.ikonli.materialdesign2;
    requires org.kordamp.ikonli.medicons;
    requires org.kordamp.ikonli.metrizeicons;
    requires org.kordamp.ikonli.microns;
    requires org.kordamp.ikonli.ociicons;
    requires org.kordamp.ikonli.octicons;
    requires org.kordamp.ikonli.openiconic;
    requires org.kordamp.ikonli.paymentfont;
    requires org.kordamp.ikonli.prestashopicons;
    requires org.kordamp.ikonli.remixicon;
    requires org.kordamp.ikonli.runestroicons;
    requires org.kordamp.ikonli.simpleicons;
    requires org.kordamp.ikonli.simplelineicons;
    requires org.kordamp.ikonli.subway;
    requires org.kordamp.ikonli.themify;
    requires org.kordamp.ikonli.typicons;
    requires org.kordamp.ikonli.unicons;
    requires org.kordamp.ikonli.weathericons;
    requires org.kordamp.ikonli.websymbols;
    requires org.kordamp.ikonli.whhg;
    requires org.kordamp.ikonli.win10;
    requires org.kordamp.ikonli.zondicons;

    uses org.kordamp.ikonli.IkonHandler;
    uses org.kordamp.ikonli.IkonProvider;
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/AboutDialog.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import org.kordamp.bootstrapfx.BootstrapFX;

/**
 * @author Andres Almiray
 */
public class AboutDialog {
    public static void show() {
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setTitle("About");
        alert.setHeaderText(null);
        alert.setContentText("Ikon Browser v" + Versions.IKONLI_VERSION);

        alert.getDialogPane().getScene()
            .getStylesheets().addAll(
                IkonBrowser.class.getResource("common.css").toExternalForm(),
                BootstrapFX.bootstrapFXStylesheet());
        alert.getDialogPane().lookupButton(ButtonType.OK)
            .getStyleClass().addAll("btn", "btn-primary");
        alert.getDialogPane().getStyleClass().add("dialog-content");

        alert.showAndWait();
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonBrowser.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
import org.kordamp.bootstrapfx.BootstrapFX;
import org.kordamp.desktoppanefx.scene.layout.DesktopPane;
import org.kordamp.desktoppanefx.scene.layout.IncubatingFeatures;
import org.kordamp.desktoppanefx.scene.layout.InternalWindow;
import org.kordamp.desktoppanefx.scene.layout.TaskBar;
import org.kordamp.desktoppanefx.scene.layout.TaskBarIcon;
import org.kordamp.ikonli.boxicons.BoxiconsRegular;
import org.kordamp.ikonli.javafx.FontIcon;

import static javafx.beans.binding.Bindings.createBooleanBinding;

/**
 * @author Andres Almiray
 */
public class IkonBrowser extends Application {
    private DesktopPane desktopPane;

    @Override
    public void start(Stage stage) throws Exception {
        desktopPane = new DesktopPane();
        desktopPane.getStylesheets().add(IkonBrowser.class.getResource("browser.css").toExternalForm());
        desktopPane.getTaskBar().setPosition(TaskBar.Position.BOTTOM);

        ObservableList<TaskBarIcon> icons = desktopPane.getTaskBar().getTaskBarIcons();
        desktopPane.getTaskBar().visibleProperty().bind(createBooleanBinding(() -> icons.size() > 0, icons));

        System.setProperty(IncubatingFeatures.DETACHABLE_WINDOWS, "true");

        BorderPane mainPane = new BorderPane();
        mainPane.setPrefSize(1024, 768);

        MenuBar menuBar = createMenuBar();

        mainPane.setTop(menuBar);
        mainPane.setCenter(desktopPane);

        Scene scene = new Scene(mainPane);
        scene.getStylesheets().addAll(
            IkonBrowser.class.getResource("browser.css").toExternalForm(),
            BootstrapFX.bootstrapFXStylesheet());

        stage.setScene(scene);
        stage.setTitle("Ikonli - https://kordamp.org/ikonli");
        stage.show();
    }

    @Override
    public void stop() throws Exception {
        desktopPane.getInternalWindows()
            .forEach(InternalWindow::closeWindow);
    }

    private MenuBar createMenuBar() {
        MenuBar menuBar = new MenuBar();

        menuBar.getMenus().addAll(
            createActionsMenu(),
            createWindowsMenu(),
            createHelpMenu());

        return menuBar;
    }

    private Menu createActionsMenu() {
        Menu actionsMenu = new Menu("Actions");

        MenuItem browse = new MenuItem("Browse");
        browse.setGraphic(FontIcon.of(BoxiconsRegular.GRID_SMALL));
        browse.setOnAction(e -> IkonPickerDialog.show(desktopPane));
        MenuItem search = new MenuItem("Search");
        search.setGraphic(FontIcon.of(BoxiconsRegular.SEARCH));
        search.setOnAction(e -> SearchInternalWindow.show(desktopPane));
        actionsMenu.getItems().addAll(browse, search);

        return actionsMenu;
    }

    private Menu createWindowsMenu() {
        Menu windowsMenu = new Menu("Windows");

        Menu tileMenu = new Menu("Tile");
        tileMenu.setGraphic(FontIcon.of(BoxiconsRegular.WINDOWS));
        Menu minimizeMenu = new Menu("Minimize");
        minimizeMenu.setGraphic(FontIcon.of(BoxiconsRegular.COLLAPSE));
        Menu maximizeMenu = new Menu("Maximize");
        maximizeMenu.setGraphic(FontIcon.of(BoxiconsRegular.EXPAND));
        Menu closeMenu = new Menu("Close");
        closeMenu.setGraphic(FontIcon.of(BoxiconsRegular.WINDOW_CLOSE));
        Menu restoreMenu = new Menu("Restore");
        restoreMenu.setGraphic(FontIcon.of(BoxiconsRegular.WINDOW_OPEN));
        windowsMenu.getItems().addAll(tileMenu, minimizeMenu, maximizeMenu, closeMenu, restoreMenu);

        MenuItem minimizeAll = new MenuItem("Minimize All");
        minimizeAll.setOnAction(e -> desktopPane.minimizeAllWindows());
        MenuItem minimizeOthers = new MenuItem("Minimize Others");
        minimizeOthers.setOnAction(e -> desktopPane.minimizeOtherWindows());
        minimizeMenu.getItems().addAll(minimizeAll, minimizeOthers);

        MenuItem maximizeAll = new MenuItem("Maximize All");
        maximizeAll.setOnAction(e -> desktopPane.maximizeAllWindows());
        MenuItem maximizeVisible = new MenuItem("Maximize Visible");
        maximizeVisible.setOnAction(e -> desktopPane.maximizeVisibleWindows());
        maximizeMenu.getItems().addAll(maximizeAll, maximizeVisible);

        MenuItem closeAll = new MenuItem("Close All");
        closeAll.setOnAction(e -> desktopPane.closeAllWindows());
        MenuItem closeOthers = new MenuItem("Close Others");
        closeOthers.setOnAction(e -> desktopPane.closeOtherWindows());
        closeMenu.getItems().addAll(closeAll, closeOthers);

        MenuItem restoreMinimized = new MenuItem("Restore Minimized");
        restoreMinimized.setOnAction(e -> desktopPane.restoreMinimizedWindows());
        MenuItem restoreVisible = new MenuItem("Restore Visible");
        restoreVisible.setOnAction(e -> desktopPane.restoreVisibleWindows());
        restoreMenu.getItems().addAll(restoreMinimized, restoreVisible);

        MenuItem tileAll = new MenuItem("Tile All");
        tileAll.setOnAction(e -> desktopPane.tileAllWindows());
        MenuItem tileVisible = new MenuItem("Tile Visible");
        tileVisible.setOnAction(e -> desktopPane.tileVisibleWindows());
        MenuItem tileHorizontally = new MenuItem("Tile Horizontally");
        tileHorizontally.setOnAction(e -> desktopPane.tileHorizontally());
        MenuItem tileVertically = new MenuItem("Tile Vertically");
        tileVertically.setOnAction(e -> desktopPane.tileVertically());
        tileMenu.getItems().addAll(tileAll, tileVisible, tileHorizontally, tileVertically);

        return windowsMenu;
    }

    private Menu createHelpMenu() {
        Menu helpMenu = new Menu("Help");

        MenuItem about = new MenuItem("About");
        about.setGraphic(FontIcon.of(BoxiconsRegular.COPYRIGHT));
        about.setOnAction(e -> AboutDialog.show());
        helpMenu.getItems().addAll(about);

        return helpMenu;
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonInternalWindow.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.paint.Color;
import org.kordamp.desktoppanefx.scene.layout.DesktopPane;
import org.kordamp.desktoppanefx.scene.layout.InternalWindow;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonProvider;
import org.kordamp.ikonli.boxicons.BoxiconsRegular;
import org.kordamp.ikonli.javafx.FontIcon;

import java.util.EnumSet;
import java.util.Optional;

import static java.util.EnumSet.allOf;

/**
 * @author Andres Almiray
 */
public class IkonInternalWindow extends InternalWindow {
    public IkonInternalWindow(String mdiWindowID, Node icon, String title, Node content) {
        super(mdiWindowID, icon, title, content);
    }

    public static void show(IkonProvider ikonProvider, DesktopPane desktopPane) {
        String windowId = ikonProvider.getIkon().getName().toLowerCase();

        desktopPane.findInternalWindow(windowId)
            .or(() -> Optional.of(createInternalWindow(ikonProvider, windowId)))
            .ifPresent(desktopPane::addInternalWindow);
    }

    private static IkonInternalWindow createInternalWindow(IkonProvider ikonProvider, String windowId) {
        IkonInternalWindow internalWindow = new IkonInternalWindow(windowId,
            FontIcon.of(BoxiconsRegular.GRID_SMALL, Color.WHITE),
            ikonProvider.getIkon().getSimpleName(),
            createIkonGrid(allOf(ikonProvider.getIkon())));
        internalWindow.setPrefSize(800, 600);
        internalWindow.getStylesheets().addAll(
            IkonBrowser.class.getResource("common.css").toExternalForm(),
            IkonBrowser.class.getResource("ikon-window.css").toExternalForm());
        return internalWindow;
    }

    private static Node createIkonGrid(EnumSet<? extends Ikon> enumSet) {
        BorderPane borderPane = new BorderPane();

        Label label = new Label("Selection:");
        TextField selection = new TextField();
        selection.setEditable(false);
        Button copy = new Button();
        copy.setGraphic(FontIcon.of(BoxiconsRegular.COPY, Color.WHITE));
        copy.getStyleClass().addAll("btn", "btm-sm", "btn-primary");
        HBox.setMargin(label, new Insets(10, 5, 10, 10));
        HBox.setMargin(selection, new Insets(10, 5, 10, 5));
        HBox.setMargin(copy, new Insets(10, 10, 10, 5));
        HBox.setHgrow(selection, Priority.ALWAYS);
        HBox hbox = new HBox(label, selection, copy);
        hbox.setAlignment(Pos.BASELINE_CENTER);
        borderPane.setTop(hbox);

        copy.disableProperty().bind(selection.textProperty().isEmpty());
        copy.setOnAction(e -> {
            final Clipboard clipboard = Clipboard.getSystemClipboard();
            final ClipboardContent content = new ClipboardContent();
            content.putString(selection.getText());
            clipboard.setContent(content);
        });

        GridPane pane = new GridPane();
        pane.setHgap(5);
        pane.setVgap(5);
        pane.setAlignment(Pos.CENTER);
        pane.setCenterShape(true);
        pane.setPadding(new Insets(5));
        pane.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
        borderPane.setCenter(new ScrollPane(pane));

        int column = 0;
        int row = 0;
        int index = 0;

        FontIcon[] previousIcon = new FontIcon[1];

        for (Ikon value : enumSet) {
            FontIcon icon = FontIcon.of(value);
            icon.getStyleClass().setAll("font-icon");
            icon.setOnMouseClicked(me -> {
                if (previousIcon[0] != null) {
                    previousIcon[0].getStyleClass().remove("active-icon");
                }
                FontIcon nextIcon = (FontIcon) me.getSource();
                selection.setText(nextIcon.getIconCode().getDescription());
                nextIcon.getStyleClass().add("active-icon");
                previousIcon[0] = nextIcon;
            });
            pane.add(icon, column++, row);
            GridPane.setMargin(icon, new Insets(10, 10, 10, 10));
            if (++index % 10 == 0) {
                column = 0;
                row++;
            }
        }

        return borderPane;
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonPickerDialog.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonBar;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.DialogPane;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.SelectionMode;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import org.kordamp.bootstrapfx.BootstrapFX;
import org.kordamp.desktoppanefx.scene.layout.DesktopPane;
import org.kordamp.ikonli.IkonProvider;

import java.util.ServiceLoader;
import java.util.Set;
import java.util.TreeSet;

/**
 * @author Andres Almiray
 */
public class IkonPickerDialog extends Dialog<IkonProvider> {
    private final ObservableList<IkonData> data;
    private final Set<IkonData> ikons;

    private IkonPickerDialog() {
        this.ikons = resolveIkonData();
        DialogPane dialogPane = getDialogPane();

        GridPane grid = new GridPane();
        grid.setHgap(10);
        grid.setMaxWidth(Double.MAX_VALUE);
        grid.setAlignment(Pos.CENTER_LEFT);

        Label label = createContentLabel(dialogPane.getContentText());
        label.setPrefWidth(Region.USE_COMPUTED_SIZE);

        setTitle("Ikon Picker");
        dialogPane.setHeaderText("Select an Ikon provider (" + ikons.size() + " in total)");
        dialogPane.getStyleClass().add("ikon-picker");
        dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);
        dialogPane.getScene().getStylesheets().addAll(
            IkonBrowser.class.getResource("common.css").toExternalForm(),
            BootstrapFX.bootstrapFXStylesheet());
        dialogPane.getStyleClass().add("dialog-content");
        dialogPane.lookupButton(ButtonType.OK)
            .getStyleClass().addAll("btn", "btn-primary");
        dialogPane.lookupButton(ButtonType.CANCEL)
            .getStyleClass().addAll("btn", "btn-danger");

        Button okButton = (Button) dialogPane.lookupButton(ButtonType.OK);

        data = FXCollections.observableArrayList(ikons);

        ListView<IkonData> listView = new ListView<>();
        listView.setItems(data);
        listView.setMinWidth(400);
        listView.setMaxHeight(400);
        listView.setMaxWidth(400);
        listView.setMaxHeight(400);
        listView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);

        listView.setOnMouseClicked(me -> {
            if (me.getClickCount() > 1) {
                okButton.fire();
            }
        });
        okButton.disableProperty().bind(
            listView.getSelectionModel()
                .selectedItemProperty()
                .isNull());

        setResultConverter((dialogButton) -> {
            ButtonBar.ButtonData data = dialogButton == null ? null : dialogButton.getButtonData();
            return data == ButtonBar.ButtonData.OK_DONE ? getSelectedItem(listView) : null;
        });

        GridPane.setHgrow(listView, Priority.ALWAYS);
        GridPane.setFillWidth(listView, true);
        grid.add(label, 0, 0);
        grid.add(listView, 1, 0);
        getDialogPane().setContent(grid);

        Platform.runLater(listView::requestFocus);
    }

    private Set<IkonData> resolveIkonData() {
        Set<IkonData> ikons = new TreeSet<>();
        if (null != IkonProvider.class.getModule().getLayer()) {
            for (IkonProvider provider : ServiceLoader.load(IkonProvider.class.getModule().getLayer(), IkonProvider.class)) {
                ikons.add(IkonData.of(provider));
            }
        } else {
            for (IkonProvider provider : ServiceLoader.load(IkonProvider.class)) {
                ikons.add(IkonData.of(provider));
            }
        }

        return ikons;
    }

    private IkonProvider getSelectedItem(ListView<IkonData> listView) {
        IkonData selectedItem = listView.getSelectionModel().getSelectedItem();
        return selectedItem != null ? selectedItem.ikonProvider : null;
    }

    private Label createContentLabel(String text) {
        Label label = new Label(text);
        label.setMaxWidth(Double.MAX_VALUE);
        label.setMaxHeight(Double.MAX_VALUE);
        label.getStyleClass().add("content");
        label.setWrapText(true);
        label.setPrefWidth(360);
        return label;
    }

    public static void show(DesktopPane desktopPane) {
        new IkonPickerDialog()
            .showAndWait()
            .ifPresent(ikonProvider -> IkonInternalWindow.show(ikonProvider, desktopPane));
    }

    private static class IkonData implements Comparable<IkonData> {
        private String name;
        private IkonProvider ikonProvider;

        @Override
        public String toString() {
            return name;
        }

        @Override
        public int compareTo(IkonData o) {
            return name.compareTo(o.name);
        }

        static IkonData of(IkonProvider ikonProvider) {
            IkonData ikonData = new IkonData();
            ikonData.ikonProvider = ikonProvider;
            ikonData.name = ikonProvider.getIkon().getSimpleName();
            return ikonData;
        }
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Launcher.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import javafx.application.Application;

/**
 * @author Andres Almiray
 */
public class Launcher {
    public static void main(String[] args) {
        if (printVersion(args)) return;
        Application.launch(IkonBrowser.class, args);
    }

    private static boolean printVersion(String[] args) {
        if (args != null) {
            for (String arg : args) {
                if ("-version".equals(arg) || "--version".equals(arg)) {
                    System.out.println("Ikonli Browser " + Versions.IKONLI_VERSION);
                    return true;
                }
            }
        }
        return false;
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/SearchInternalWindow.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import eu.hansolo.tilesfx.tools.FlowGridPane;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.concurrent.Task;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TextField;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;
import org.kordamp.desktoppanefx.scene.layout.DesktopPane;
import org.kordamp.desktoppanefx.scene.layout.InternalWindow;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonProvider;
import org.kordamp.ikonli.boxicons.BoxiconsRegular;
import org.kordamp.ikonli.browser.internal.JavaFXThreadProxyObservableList;
import org.kordamp.ikonli.javafx.FontIcon;
import org.tbee.javafx.scene.layout.MigPane;

import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Optional;
import java.util.ServiceLoader;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import static java.util.EnumSet.allOf;
import static java.util.Objects.requireNonNull;
import static javafx.collections.FXCollections.observableArrayList;

/**
 * @author Andres Almiray
 */
public class SearchInternalWindow extends InternalWindow {
    private static final String SEARCH_WINDOW_ID = "__SEARCH__";

    private final Model model = new Model();
    private final Controller controller = new Controller(model);

    public SearchInternalWindow(Node icon, MigPane migPane) {
        super(SEARCH_WINDOW_ID, icon, "Search", migPane);

        Label label = new Label("Search:");
        TextField searchItem = new TextField();
        model.termProperty().bind(searchItem.textProperty());
        Button searchButton = new Button();
        searchButton.setGraphic(FontIcon.of(BoxiconsRegular.SEARCH_ALT_2, Color.WHITE));
        searchButton.getStyleClass().addAll("btn", "btm-sm", "btn-primary");
        migPane.add(label);
        migPane.add(searchItem, "grow");
        migPane.add(searchButton);

        Button cancelButton = new Button();
        cancelButton.setGraphic(FontIcon.of(BoxiconsRegular.X, Color.WHITE));
        cancelButton.getStyleClass().addAll("btn", "btm-sm", "btn-danger");
        ProgressBar progress = new ProgressBar();
        migPane.add(progress, "span 2, grow");
        migPane.add(cancelButton);

        label = new Label("Selection:");
        TextField selection = new TextField();
        selection.setEditable(false);
        selection.textProperty().bind(model.selectionProperty());
        Button copy = new Button();
        copy.setGraphic(FontIcon.of(BoxiconsRegular.COPY, Color.WHITE));
        copy.getStyleClass().addAll("btn", "btm-sm", "btn-primary");
        migPane.add(label);
        migPane.add(selection, "grow");
        migPane.add(copy);

        copy.disableProperty().bind(selection.textProperty().isEmpty());
        copy.setOnAction(e -> {
            final Clipboard clipboard = Clipboard.getSystemClipboard();
            final ClipboardContent content = new ClipboardContent();
            content.putString(model.getSelection());
            clipboard.setContent(content);
        });

        final FlowGridPane grid = new FlowGridPane(10, 20);
        grid.setHgap(5);
        grid.setVgap(5);
        grid.setAlignment(Pos.CENTER);
        grid.setCenterShape(true);
        grid.setPadding(new Insets(5));
        grid.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
        migPane.add(new ScrollPane(grid), "span 3, grow");

        searchButton.setOnAction(e -> searchIcons());

        BooleanProperty enabled = new SimpleBooleanProperty(this, "enabled", true);
        BooleanProperty running = new SimpleBooleanProperty(this, "running", false);

        searchItem.textProperty().addListener((observable, oldValue, newValue) -> {
            model.setState(null == newValue || newValue.isEmpty() ? State.DISABLED : State.READY);
        });
        running.addListener((observable, oldValue, newValue) -> {
            if (null != newValue && newValue) grid.getChildren().clear();
        });

        model.stateProperty().addListener((observable, oldValue, newValue) ->
            Platform.runLater(() -> {
                switch (newValue) {
                    case DISABLED:
                        enabled.setValue(false);
                        running.setValue(false);
                        break;
                    case READY:
                        enabled.setValue(true);
                        running.setValue(false);
                        break;
                    case RUNNING:
                        enabled.setValue(false);
                        running.setValue(true);
                        break;
                }
            }));

        searchButton.disableProperty().bind(Bindings.not(enabled));
        cancelButton.visibleProperty().bind(running);
        cancelButton.managedProperty().bind(running);
        progress.visibleProperty().bind(running);
        progress.managedProperty().bind(running);

        model.getIkons().addListener(new ListChangeListener<>() {
            private final FontIcon[] previousIcon = new FontIcon[1];

            @Override
            public void onChanged(Change<? extends Ikon> c) {
                while (c.next()) {
                    if (c.wasAdded()) {
                        addIcons(new ArrayList<>(c.getAddedSubList()), grid);
                    } else if (c.wasRemoved()) {
                        // can only happen when we clear the list
                        if (Platform.isFxApplicationThread()) {
                            grid.getChildren().clear();
                        } else {
                            Platform.runLater(() -> grid.getChildren().clear());
                        }
                    }
                }
            }

            private void addIcons(List<? extends Ikon> list, FlowGridPane grid) {
                if (Platform.isFxApplicationThread()) {
                    doAddIcons(list, grid);
                } else {
                    Platform.runLater(() -> doAddIcons(list, grid));
                }
            }

            private void doAddIcons(List<? extends Ikon> list, FlowGridPane grid) {
                list.forEach(ikon -> grid.getChildren().add(createIcon(ikon)));
            }

            private FontIcon createIcon(Ikon ikon) {
                FontIcon icon = FontIcon.of(ikon);
                icon.getStyleClass().setAll("font-icon");
                icon.setOnMouseClicked(me -> {
                    if (previousIcon[0] != null) {
                        previousIcon[0].getStyleClass().remove("active-icon");
                    }
                    FontIcon nextIcon = (FontIcon) me.getSource();
                    model.setSelection(nextIcon.getIconCode().getDescription());
                    nextIcon.getStyleClass().add("active-icon");
                    previousIcon[0] = nextIcon;
                });
                return icon;
            }
        });

        setOnHidden(e -> controller.cancel());
    }

    @Override
    public void closeWindow() {
        controller.shutdown();
        super.closeWindow();
    }

    private void searchIcons() {
        controller.cancel();
        controller.search();
    }

    public static void show(DesktopPane desktopPane) {
        desktopPane.findInternalWindow(SEARCH_WINDOW_ID)
            .or(() -> Optional.of(createInternalWindow()))
            .ifPresent(desktopPane::addInternalWindow);
    }

    private static SearchInternalWindow createInternalWindow() {
        SearchInternalWindow internalWindow = new SearchInternalWindow(
            FontIcon.of(BoxiconsRegular.GRID_SMALL, Color.WHITE),
            new MigPane("fill, wrap 3",
                "[left, p!][80%][center]",
                "[p][p][p][80%]"));
        internalWindow.setPrefSize(800, 600);
        internalWindow.getStylesheets().addAll(
            IkonBrowser.class.getResource("common.css").toExternalForm(),
            IkonBrowser.class.getResource("ikon-window.css").toExternalForm());
        return internalWindow;
    }

    private static <E> ObservableList<E> createJavaFXThreadProxyList(ObservableList<E> source) {
        requireNonNull(source, "Argument 'source' must not be null");
        return new JavaFXThreadProxyObservableList<>(source);
    }

    public enum State {
        DISABLED,
        READY,
        RUNNING
    }

    private static class Model {
        private final ObservableList<Ikon> ikons = observableArrayList();
        private StringProperty term;
        private StringProperty selection;
        private ObjectProperty<State> state;
        private Task<Void> task;

        public Model() {
            stateProperty().addListener((observable, oldValue, newValue) -> {
                if (newValue == State.RUNNING) {
                    ikons.clear();
                }
            });
        }

        public ObservableList<Ikon> getIkons() {
            return ikons;
        }

        public Task<Void> getTask() {
            return task;
        }

        public void setTask(Task<Void> task) {
            this.task = task;
        }

        public StringProperty termProperty() {
            if (term == null) {
                term = new SimpleStringProperty(this, "term");
            }
            return term;
        }

        public String getTerm() {
            return termProperty().get();
        }

        public void setTerm(String term) {
            termProperty().set(term);
        }

        public StringProperty selectionProperty() {
            if (selection == null) {
                selection = new SimpleStringProperty(this, "selection");
            }
            return selection;
        }

        public String getSelection() {
            return selectionProperty().get();
        }

        public void setSelection(String selection) {
            this.selectionProperty().set(selection);
        }

        public State getState() {
            return stateProperty().get();
        }

        public void setState(State state) {
            stateProperty().set(state);
        }

        public ObjectProperty<State> stateProperty() {
            if (state == null) {
                state = new SimpleObjectProperty<>(this, "state", State.READY);
            }
            return state;
        }
    }

    private static class Controller {
        private final Model model;
        private final List<Ikon> ikons = new ArrayList<>();
        private ExecutorService executor;

        public Controller(Model model) {
            this.model = model;
        }

        public void search() {
            model.getIkons().clear();

            if (executor == null) {
                executor = Executors.newSingleThreadExecutor();
            }

            if (ikons.isEmpty()) {
                loadIcons();
            }

            Task<Void> task = createTask();
            model.setTask(task);
            executor.execute(task);
        }

        private Task<Void> createTask() {
            return new Task<>() {
                @Override
                protected Void call() throws Exception {
                    String term = model.getTerm().toLowerCase();
                    ikons.stream()
                        .filter(ikon -> ikon.getDescription().contains(term))
                        .peek(model.getIkons()::add)
                        .forEach(Controller::noop);

                    return null;
                }
            };
        }

        public void cancel() {
            model.setSelection("");
            if (model.getTask() != null) {
                model.getTask().cancel(true);
                model.setState(State.READY);
            }
        }

        public void shutdown() {
            executor.shutdownNow();
            executor = null;
        }

        private void loadIcons() {
            if (null != IkonProvider.class.getModule().getLayer()) {
                for (IkonProvider provider : ServiceLoader.load(IkonProvider.class.getModule().getLayer(), IkonProvider.class)) {
                    add(allOf(provider.getIkon()), ikons);
                }
            } else {
                for (IkonProvider provider : ServiceLoader.load(IkonProvider.class)) {
                    add(allOf(provider.getIkon()), ikons);
                }
            }
        }

        private void add(EnumSet<? extends Ikon> set, List<Ikon> ikons) {
            ikons.addAll(set);
        }

        private static void noop(Ikon ikon) {
        }
    }
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Versions.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser;

import java.util.ResourceBundle;

/**
 * @author Andres Almiray
 */
public class Versions {
    private static final ResourceBundle bundle = ResourceBundle.getBundle("org.kordamp.ikonli.browser.versions");
    public static final String IKONLI_VERSION = bundle.getString("ikonli_version");
}


================================================
FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/internal/JavaFXThreadProxyObservableList.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.browser.internal;

import javafx.application.Platform;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.collections.transformation.TransformationList;

/**
 * @author Andres Almiray
 */
public class JavaFXThreadProxyObservableList<E> extends TransformationList<E, E> {
    public JavaFXThreadProxyObservableList(ObservableList<E> source) {
        super(source);
    }

    @Override
    protected void sourceChanged(ListChangeListener.Change<? extends E> c) {
        if (Platform.isFxApplicationThread()) {
            fireChange(c);
        } else {
            Platform.runLater(() -> fireChange(c));
        }
    }

    @Override
    public int getSourceIndex(int index) {
        return index;
    }

    @Override
    public E get(int index) {
        return getSource().get(index);
    }

    @Override
    public int size() {
        return getSource().size();
    }

    @Override
    public int getViewIndex(int index) {
        return index;
    }
}

================================================
FILE: apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/browser.css
================================================
.desktoppane,
.internal-window-content {
    -fx-background-color: white;
    -fx-border-color: darkgrey;
    -fx-border-width: 1px;
    -fx-border-style: solid;
}

.taskbar-icon .label,
.internal-window .internal-window-titlebar-title {
    -fx-text-fill: white;
}

.internal-window:active,
.internal-window:active .internal-window-titlebar {
    -fx-background-color: #120caf, linear-gradient(#1f52ff 10%, #120caf 30%, #1f52ff 100%);
    -fx-border-color: #120caf;
}

.internal-window,
.internal-window .internal-window-titlebar {
    -fx-background-color: #1f52ff, linear-gradient(#5ca6ff 10%, #1f52ff 30%, #5ca6ff 100%);
    -fx-border-color: #1f52ff;
}

.taskbar-icon {
    -fx-background-color: #1f52ff, linear-gradient(#5ca6ff 10%, #1f52ff 30%, #5ca6ff 100%);
    -fx-border-color: #1f52ff;
    -fx-border-radius: 6;
}

.internal-window:active .internal-window-titlebar-button .ikonli-font-icon {
    -fx-icon-color: #120caf;
}

.internal-window .taskbar-icon-button .ikonli-font-icon,
.internal-window .internal-window-titlebar-button .ikonli-font-icon {
    -fx-icon-color: #1f52ff;
}

================================================
FILE: apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/common.css
================================================
.dialog-content {
    -fx-background-color: white;
    -fx-border-color: darkgrey;
    -fx-border-width: 1px;
    -fx-border-style: solid;
}

================================================
FILE: apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/ikon-window.css
================================================
.font-icon {
    -fx-icon-size: 48px;
    -fx-icon-color: black;
}

.active-icon {
    -fx-icon-color: red;
}

================================================
FILE: apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/versions.properties
================================================
#
# SPDX-License-Identifier: Apache-2.0
#
# Copyright 2015-2025 Andres Almiray
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

ikonli_version=${ikonli_version}

================================================
FILE: apps/sampler-javafx/sampler-javafx.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
plugins {
    id 'application'
}

application {
    mainModule = 'org.kordamp.ikonli.sampler.javafx'
    mainClass = 'org.kordamp.ikonli.sampler.javafx.Sampler'
}

dependencies {
    implementation project(':ikonli-core')
    implementation project(':ikonli-javafx')
    implementation project(':ikonli-antdesignicons-pack')
    implementation project(':ikonli-bootstrapicons-pack')
    implementation project(':ikonli-boxicons-pack')
    implementation project(':ikonli-bpmn-pack')
    implementation project(':ikonli-bytedance-pack')
    implementation project(':ikonli-captainicon-pack')
    implementation project(':ikonli-carbonicons-pack')
    implementation project(':ikonli-codicons-pack')
    implementation project(':ikonli-coreui-pack')
    implementation project(':ikonli-dashicons-pack')
    implementation project(':ikonli-devicons-pack')
    implementation project(':ikonli-elusive-pack')
    implementation project(':ikonli-entypo-pack')
    implementation project(':ikonli-evaicons-pack')
    implementation project(':ikonli-feather-pack')
    implementation project(':ikonli-fileicons-pack')
    implementation project(':ikonli-fluentui-pack')
    implementation project(':ikonli-fontawesome-pack')
    implementation project(':ikonli-fontawesome5-pack')
    implementation project(':ikonli-fontawesome6-pack')
    implementation project(':ikonli-fontelico-pack')
    implementation project(':ikonli-foundation-pack')
    implementation project(':ikonli-hawcons-pack')
    implementation project(':ikonli-icomoon-pack')
    implementation project(':ikonli-ionicons-pack')
    implementation project(':ikonli-ionicons4-pack')
    implementation project(':ikonli-jamicons-pack')
    implementation project(':ikonli-ligaturesymbols-pack')
    implementation project(':ikonli-lineawesome-pack')
    implementation project(':ikonli-linecons-pack')
    implementation project(':ikonli-maki-pack')
    implementation project(':ikonli-maki2-pack')
    implementation project(':ikonli-mapicons-pack')
    implementation project(':ikonli-material-pack')
    implementation project(':ikonli-material2-pack')
    implementation project(':ikonli-materialdesign-pack')
    implementation project(':ikonli-materialdesign2-pack')
    implementation project(':ikonli-medicons-pack')
    implementation project(':ikonli-metrizeicons-pack')
    implementation project(':ikonli-microns-pack')
    implementation project(':ikonli-ociicons-pack')
    implementation project(':ikonli-octicons-pack')
    implementation project(':ikonli-openiconic-pack')
    implementation project(':ikonli-paymentfont-pack')
    implementation project(':ikonli-prestashopicons-pack')
    implementation project(':ikonli-remixicon-pack')
    implementation project(':ikonli-runestroicons-pack')
    implementation project(':ikonli-simpleicons-pack')
    implementation project(':ikonli-simplelineicons-pack')
    implementation project(':ikonli-subway-pack')
    implementation project(':ikonli-themify-pack')
    implementation project(':ikonli-typicons-pack')
    implementation project(':ikonli-unicons-pack')
    implementation project(':ikonli-weathericons-pack')
    implementation project(':ikonli-websymbols-pack')
    implementation project(':ikonli-whhg-pack')
    implementation project(':ikonli-win10-pack')
    implementation project(':ikonli-zondicons-pack')

    implementation "org.openjfx:javafx-base:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-graphics:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-controls:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-fxml:${javafxVersion}:${javafx_platform}"
    implementation "org.openjfx:javafx-swing:${javafxVersion}:${javafx_platform}"
}

config {
    publishing {
        enabled = false
    }
}


================================================
FILE: apps/sampler-javafx/src/main/java/module-info.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module org.kordamp.ikonli.sampler.javafx {
    opens org.kordamp.ikonli.sampler.javafx;
    requires javafx.base;
    requires javafx.graphics;
    requires javafx.controls;
    requires javafx.fxml;
    requires org.kordamp.ikonli.core;
    requires org.kordamp.ikonli.javafx;

    uses org.kordamp.ikonli.IkonHandler;
    uses org.kordamp.ikonli.IkonProvider;
}


================================================
FILE: apps/sampler-javafx/src/main/java/org/kordamp/ikonli/sampler/javafx/Sampler.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.sampler.javafx;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonProvider;
import org.kordamp.ikonli.javafx.FontIcon;

import java.net.URL;
import java.util.EnumSet;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.TreeMap;

import static java.util.EnumSet.allOf;

/**
 * @author Andres Almiray
 */
public class Sampler extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        URL location = getClass().getResource("sampler.fxml");
        FXMLLoader fxmlLoader = new FXMLLoader(location);
        TabPane tabPane = fxmlLoader.load();

        Map<String, IkonProvider> ikons = new TreeMap<>();
        ServiceLoader<IkonProvider> providers = ServiceLoader.load(IkonProvider.class);
        for (IkonProvider provider : providers) {
            ikons.put(provider.getIkon().getSimpleName(), provider);
        }
        for (IkonProvider provider : ikons.values()) {
            tabPane.getTabs().add(new DemoTab(provider.getIkon(), allOf(provider.getIkon())));
        }

        Scene scene = new Scene(tabPane);
        scene.getStylesheets().add("org/kordamp/ikonli/sampler/javafx/sampler.css");

        primaryStage.setTitle("Ikonli Sampler");
        primaryStage.setScene(scene);
        primaryStage.setWidth(1024);
        primaryStage.setHeight(1024);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(Sampler.class);
    }

    private static class DemoTab extends Tab {
        private DemoTab(Class<? extends Ikon> iconFontClass, EnumSet<? extends Ikon> enumSet) throws Exception {
            super(iconFontClass.getSimpleName());
            setClosable(false);

            GridPane pane = new GridPane();
            ScrollPane scrollPane = new ScrollPane(pane);
            setContent(scrollPane);

            int column = 0;
            int row = 0;
            int index = 0;
            for (Ikon value : enumSet) {
                FontIcon icon = FontIcon.of(value);
                icon.getStyleClass().setAll("font-icon");
                pane.add(icon, column++, row);
                GridPane.setMargin(icon, new Insets(10, 10, 10, 10));
                if (++index % 10 == 0) {
                    column = 0;
                    row++;
                }
            }
        }
    }
}


================================================
FILE: apps/sampler-javafx/src/main/resources/org/kordamp/ikonli/sampler/javafx/sampler.css
================================================
.font-icon {
    -fx-icon-size: 48px;
}

================================================
FILE: apps/sampler-javafx/src/main/resources/org/kordamp/ikonli/sampler/javafx/sampler.fxml
================================================
<!--

    SPDX-License-Identifier: Apache-2.0

    Copyright 2015-2025 Andres Almiray

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.layout.GridPane?>
<?import org.kordamp.ikonli.javafx.FontIcon?>
<?import org.kordamp.ikonli.javafx.StackedFontIcon?>
<TabPane xmlns:fx="http://javafx.com/fxml">
    <padding>
        <Insets top="10" left="10" bottom="10" right="10"/>
    </padding>
    <Tab text="Stacked" closable="false">
        <GridPane hgap="20" vgap="20">
            <StackedFontIcon GridPane.columnIndex="0" GridPane.rowIndex="0" iconSize="48">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="red"/>
                <FontIcon iconLiteral="fa-camera" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
            <StackedFontIcon GridPane.columnIndex="1" GridPane.rowIndex="0" iconSize="64">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="forestgreen"/>
                <FontIcon iconLiteral="oct-heart-24" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
            <StackedFontIcon GridPane.columnIndex="2" GridPane.rowIndex="0" iconSize="80">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="blue"/>
                <FontIcon iconLiteral="ion-alert" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
            <StackedFontIcon GridPane.columnIndex="3" GridPane.rowIndex="0" iconSize="96">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="red"/>
                <FontIcon iconLiteral="fi-first-aid" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
            <StackedFontIcon GridPane.columnIndex="4" GridPane.rowIndex="0" iconSize="112">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="forestgreen"/>
                <FontIcon iconLiteral="di-java" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
            <StackedFontIcon GridPane.columnIndex="5" GridPane.rowIndex="0" iconSize="124">
                <FontIcon iconLiteral="fa-circle-thin" iconColor="blue"/>
                <FontIcon iconLiteral="eli-hand-right" StackedFontIcon.iconSize="0.5"/>
            </StackedFontIcon>
        </GridPane>
    </Tab>
</TabPane>

================================================
FILE: apps/sampler-swing/sampler-swing.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
apply plugin: 'application'

application {
    mainModule = 'org.kordamp.ikonli.sampler.swing'
    mainClass = 'org.kordamp.ikonli.sampler.swing.Sampler'
}

dependencies {
    implementation project(':ikonli-core')
    implementation project(':ikonli-swing')
    implementation project(':ikonli-antdesignicons-pack')
    implementation project(':ikonli-bootstrapicons-pack')
    implementation project(':ikonli-boxicons-pack')
    implementation project(':ikonli-bpmn-pack')
    implementation project(':ikonli-bytedance-pack')
    implementation project(':ikonli-captainicon-pack')
    implementation project(':ikonli-carbonicons-pack')
    implementation project(':ikonli-codicons-pack')
    implementation project(':ikonli-coreui-pack')
    implementation project(':ikonli-dashicons-pack')
    implementation project(':ikonli-devicons-pack')
    implementation project(':ikonli-elusive-pack')
    implementation project(':ikonli-entypo-pack')
    implementation project(':ikonli-evaicons-pack')
    implementation project(':ikonli-feather-pack')
    implementation project(':ikonli-fileicons-pack')
    implementation project(':ikonli-fluentui-pack')
    implementation project(':ikonli-fontawesome-pack')
    implementation project(':ikonli-fontawesome5-pack')
    implementation project(':ikonli-fontawesome6-pack')
    implementation project(':ikonli-fontelico-pack')
    implementation project(':ikonli-foundation-pack')
    implementation project(':ikonli-hawcons-pack')
    implementation project(':ikonli-icomoon-pack')
    implementation project(':ikonli-ionicons-pack')
    implementation project(':ikonli-ionicons4-pack')
    implementation project(':ikonli-jamicons-pack')
    implementation project(':ikonli-ligaturesymbols-pack')
    implementation project(':ikonli-lineawesome-pack')
    implementation project(':ikonli-linecons-pack')
    implementation project(':ikonli-maki-pack')
    implementation project(':ikonli-maki2-pack')
    implementation project(':ikonli-mapicons-pack')
    implementation project(':ikonli-material-pack')
    implementation project(':ikonli-material2-pack')
    implementation project(':ikonli-materialdesign-pack')
    implementation project(':ikonli-materialdesign2-pack')
    implementation project(':ikonli-medicons-pack')
    implementation project(':ikonli-metrizeicons-pack')
    implementation project(':ikonli-microns-pack')
    implementation project(':ikonli-ociicons-pack')
    implementation project(':ikonli-octicons-pack')
    implementation project(':ikonli-openiconic-pack')
    implementation project(':ikonli-paymentfont-pack')
    implementation project(':ikonli-prestashopicons-pack')
    implementation project(':ikonli-remixicon-pack')
    implementation project(':ikonli-runestroicons-pack')
    implementation project(':ikonli-simpleicons-pack')
    implementation project(':ikonli-simplelineicons-pack')
    implementation project(':ikonli-subway-pack')
    implementation project(':ikonli-themify-pack')
    implementation project(':ikonli-typicons-pack')
    implementation project(':ikonli-unicons-pack')
    implementation project(':ikonli-weathericons-pack')
    implementation project(':ikonli-websymbols-pack')
    implementation project(':ikonli-whhg-pack')
    implementation project(':ikonli-win10-pack')
    implementation project(':ikonli-zondicons-pack')
}

config {
    publishing {
        enabled = false
    }
}


================================================
FILE: apps/sampler-swing/src/main/java/module-info.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module org.kordamp.ikonli.sampler.swing {
    opens org.kordamp.ikonli.sampler.swing;
    requires java.desktop;
    requires org.kordamp.ikonli.core;
    requires org.kordamp.ikonli.swing;

    uses org.kordamp.ikonli.IkonHandler;
    uses org.kordamp.ikonli.IkonProvider;
}


================================================
FILE: apps/sampler-swing/src/main/java/org/kordamp/ikonli/sampler/swing/Sampler.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.sampler.swing;

import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonProvider;
import org.kordamp.ikonli.swing.FontIcon;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;
import javax.swing.WindowConstants;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.util.EnumSet;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.TreeMap;

import static java.util.EnumSet.allOf;

/**
 * @author Andres Almiray
 */
public class Sampler {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(Sampler::launch);
    }

    private static void launch() {
        JTabbedPane tabPane = new JTabbedPane();

        Map<String, IkonProvider> ikons = new TreeMap<>();
        ServiceLoader<IkonProvider> providers = ServiceLoader.load(IkonProvider.class);
        for (IkonProvider provider : providers) {
            ikons.put(provider.getIkon().getSimpleName(), provider);
        }
        for (IkonProvider provider : ikons.values()) {
            createTab(tabPane, provider.getIkon(), new DemoTab(allOf(provider.getIkon())));
        }

        JFrame frame = new JFrame("Ikonli Sampler");
        frame.add(tabPane);
        frame.setSize(new Dimension(1024, 1024));
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    private static void createTab(JTabbedPane tabPane, Class<? extends Ikon> iconFontClass, DemoTab tab) {
        tabPane.add(iconFontClass.getSimpleName(), tab);
    }

    private static class DemoTab extends JScrollPane {
        private DemoTab(EnumSet<? extends Ikon> enumSet) {
            JPanel pane = new JPanel(new GridLayout(0, 10, 10, 10));
            setViewportView(pane);

            for (Ikon value : enumSet) {
                pane.add(new JLabel(FontIcon.of(value, 48)));
            }
        }
    }
}


================================================
FILE: bach.args
================================================
--external-library-version
  sormuras-modules=2021.06.06
--external-library-version
  javafx=11
--limit-tool
  javac,jar,jlink
--main-java-release
  11
--main-module-pattern
  core/ikonli-*/src/main/java/module-info.java
--main-module-pattern
  icon-packs/ikonli-*-pack/src/main/java/module-info.java
--main-module-pattern
  apps/*/src/main/java/module-info.java


================================================
FILE: build.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
plugins {
    id 'com.google.osdetector'
}

ext.javafx_platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os
ext.platform = "${osdetector.os}-${osdetector.arch}"
ext.baseVersion = version - '-SNAPSHOT'

config {
    info {
        name          = 'Ikonli'
        description   = 'Icon packs for Java applications'
        inceptionYear = '2015'
        tags          = ['icons', 'javafx', 'swing']

        specification { enabled = false }
    }

    docs {
        javadoc {
            autoLinks {
                enabled = false
            }
            options {
                addBooleanOption('javafx', true)
            }
            aggregate {
                enabled = false
            }
        }
    }
}

idea {
    project {
        jdkName '11'
        languageLevel '11'

        ipr {
            withXml { provider ->
                def node = provider.asNode()
                node.component.find { it.'@name' == 'VcsDirectoryMappings' }?.mapping[0].'@vcs' = 'Git'

                def compilerConfiguration = node.component.find { it.'@name' == 'CompilerConfiguration' }
                compilerConfiguration.remove(compilerConfiguration.annotationProcessing)
                compilerConfiguration.append(new XmlParser().parseText('''
    <annotationProcessing>
      <profile default="true" name="Default" enabled="true">
        <processorPath useClasspath="true" />
      </profile>
    </annotationProcessing>'''))
            }
        }
    }
}

subprojects { subproj ->
    if (!subproj.name.contains('guide') && !subproj.name.contains('bom')) {
        tasks.named('compileJava') {
            options.javaModuleVersion = provider { project.version }
            options.release = Integer.parseInt(subproj.rootProject.findProperty('targetCompatibility'))
        }

        license {
            mapping {
                fxml = 'XML_STYLE'
            }
            exclude '**/*.ttf'
            exclude '**/*.eot'
            exclude '**/*.svg'
            exclude '**/*.otf'
            exclude '**/*.woff'
            exclude '**/*.woff2'
            exclude '**/*.css'
            exclude '**/*.md'
            exclude '**/*.txt'
        }
    }

    if (subproj.projectDir.parentFile.name.contains('core') || subproj.name.endsWith('-pack')) {
        jar {
            bundle {
                bnd '''
                    Bundle-SymbolicName: ${project.name}
                    Bundle-Name: ${project.name}
                    Bundle-Version: ${project.version}
                    
                    Import-Package:         !javafx.*, *;
                    Export-Package:         *;
                    Bundle-ActivationPolicy: lazy
                    
                    # Remove private packages to prevent embedding
                    Private-Package: !*
                    
                    -nouses: true
                    -noimportjava: true
                    '''
            }
        }

        dependencies {
            compileOnly 'org.osgi:osgi.core:8.0.0'
            compileOnly 'org.osgi:org.osgi.service.component.annotations:1.5.1'
            testImplementation 'junit:junit:4.13.2'

            compileOnly project(':ikonli-nativeimage-annotations')
            annotationProcessor project(':ikonli-nativeimage-processor')
        }
    }

    if (subproj.name.endsWith('-pack')) {
        dependencies {
            api project(':ikonli-core')
            compileOnly "org.kordamp.jipsy:jipsy-annotations:${jipsyVersion}"
            annotationProcessor "org.kordamp.jipsy:jipsy-processor:${jipsyVersion}"
        }

        tasks.processResources.dependsOn(tasks.register('generateNativeImageResource', org.kordamp.ikonli.gradle.NativeImageResourceGeneratorTask) { t ->
            String ipn = project.name - 'ikonli-' - '-pack'

            t.outputDirectory.set(file('build/resources/main/META-INF/native-image'))
            t.groupId.set(project.group)
            t.artifactId.set(project.name)
            t.version.set(project."${ipn}Version")
            t.iconPackName.set(ipn)
        })
    }
}

project.rootProject.gradle.addBuildListener(new BuildAdapter() {
    @Override
    void projectsEvaluated(Gradle gradle) {
        gradle.rootProject.childProjects.values()
            .grep({ p -> p.name.endsWith('-pack') })
            .each { p ->
                p.tasks.withType(Jar).each { Jar jar ->
                    jar.configure {
                        exclude '**/*.css'
                        exclude '**/*.otf'
                        exclude '**/*.eot'
                        exclude '**/*.svg'
                        exclude '**/*.woff'
                        exclude '**/*.woff2'
                    }
                }
            }
    }
})

profiles {
    profile('sbom') {
        activation {
            property {
                key   = 'sbom'
                value = true
            }
        }
        action {
            println 'SBOM generation is turned ON'

            gradleProjects {
                subprojects {
                    dirs(['core', 'icon-packs']) {
                        cyclonedxBom {
                            includeConfigs = ['runtimeClasspath']
                            projectType = 'library'
                            outputName = "${project.name}-${project.version}-cyclonedx".toString()
                            destination = file('build/reports/cyclonedx')
                            includeLicenseText = false

                            def lic = new org.cyclonedx.model.License()
                            lic.setId('Apache-2.0')
                            lic.setUrl('https://www.apache.org/licenses/LICENSE-2.0')
                            def attachmentText = new org.cyclonedx.model.AttachmentText()
                            attachmentText.setText('')
                            lic.setLicenseText(attachmentText)
                            licenseChoice { lc ->
                                lc.addLicense(lic)
                            }
                        }

                        publishing {
                            publications {
                                main(MavenPublication) {
                                    artifact classifier: 'cyclonedx', source: new File(cyclonedxBom.destination.get(), cyclonedxBom.outputName.get() + '.xml')
                                    artifact classifier: 'cyclonedx', source: new File(cyclonedxBom.destination.get(), cyclonedxBom.outputName.get() + '.json')
                                }
                            }
                        }

                        project.generatePomFileForMainPublication.dependsOn(cyclonedxBom)
                    }
                }
            }
        }
    }
}


================================================
FILE: buildSrc/build.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
plugins {
    id 'java-library'
    id 'groovy'
}



================================================
FILE: buildSrc/src/main/groovy/org/kordamp/ikonli/gradle/NativeImageResourceGeneratorTask.groovy
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.gradle

import groovy.transform.CompileStatic
import org.gradle.api.DefaultTask
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.TaskAction

import javax.inject.Inject
import java.nio.file.Files

@CompileStatic
class NativeImageResourceGeneratorTask extends DefaultTask {
    @OutputDirectory
    final DirectoryProperty outputDirectory

    @Input
    final Property<String> groupId

    @Input
    final Property<String> artifactId

    @Input
    final Property<String> version

    @Input
    final Property<String> iconPackName

    @Inject
    NativeImageResourceGeneratorTask(ObjectFactory objects) {
        outputDirectory = objects.directoryProperty()
        groupId = objects.property(String)
        artifactId = objects.property(String)
        version = objects.property(String)
        iconPackName = objects.property(String)
    }

    @TaskAction
    void generateResourceConfigFile() {
        File resourceConfig = outputDirectory.get().file("${groupId.get()}/${artifactId.get()}/resources-config.json").asFile
        Files.createDirectories(resourceConfig.parentFile.toPath())

        resourceConfig.text = """
{
  "resources": {
    "includes": [
      {
        "pattern": "META-INF/resources/${iconPackName.get()}/${version.get()}/fonts/*.ttf"
      }
    ]
  }
}      
"""
    }
}


================================================
FILE: core/ikonli-bom/ikonli-bom.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
plugins {
    id 'org.kordamp.gradle.bom'
}

config {
    bom {
        exclude('guide')
        exclude('sampler-javafx')
        exclude('sampler-swing')
        exclude('ikonli-browser')
    }
}

================================================
FILE: core/ikonli-core/ikonli-core.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
dependencies {
    compileOnly "org.kordamp.jipsy:jipsy-annotations:${jipsyVersion}"
    annotationProcessor "org.kordamp.jipsy:jipsy-processor:${jipsyVersion}"
}

================================================
FILE: core/ikonli-core/src/main/java/module-info.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module org.kordamp.ikonli.core {
    exports org.kordamp.ikonli;
    requires static org.kordamp.jipsy.annotations;
    requires java.logging;
    requires static org.osgi.service.component.annotations;
    requires static osgi.core;
    requires static org.kordamp.ikonli.infra.nativeimage.annotations;

    uses org.kordamp.ikonli.IkonHandler;

    provides org.kordamp.ikonli.IkonHandler
        with org.kordamp.ikonli.IkonliIkonResolver;
    provides org.kordamp.ikonli.IkonProvider
        with org.kordamp.ikonli.IkonliIkonProvider;
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonHandler.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

/**
 * @author Andres Almiray
 */
public abstract class AbstractIkonHandler implements IkonHandler {
    private Object font;

    public Object getFont() {
        return font;
    }

    public void setFont(Object font) {
        this.font = font;
    }
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonResolver.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

import java.util.Arrays;
import java.util.ServiceLoader;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.logging.Logger;

import static java.util.Objects.requireNonNull;

/**
 * @author Andres Almiray
 */
public class AbstractIkonResolver implements IkonResolver {
    private static final String ORG_KORDAMP_IKONLI_STRICT = "org.kordamp.ikonli.strict";
    private final static Logger LOGGER = Logger.getLogger(AbstractIkonResolver.class.getName());

    protected final Set<IkonHandler> handlers = new CopyOnWriteArraySet<>();
    protected final Set<IkonHandler> customHandlers = new CopyOnWriteArraySet<>();

    @Override
    public boolean registerHandler(IkonHandler handler) {
        requireNonNull(handler, "Handler must not be null");
        if (isHandlerLoadedViaClasspath(handler)) {
            throwOrWarn(String.format("IkonHandler for %s is already loaded via classpath", handler.getFontFamily()));
            return false;
        }
        return customHandlers.add(handler);
    }

    @Override
    public boolean unregisterHandler(IkonHandler handler) {
        requireNonNull(handler, "Handler must not be null");
        if (isHandlerLoadedViaClasspath(handler)) {
            throwOrWarn(String.format("IkonHandler for %s was loaded via classpath and can't be unregistered", handler.getFontFamily()));
            return false;
        }
        return customHandlers.remove(handler);
    }

    @Override
    public IkonHandler resolve(String value) {
        requireNonNull(value, "Ikon description must not be null");
        return findHandler(value)
            .orElseThrow(() -> new UnsupportedOperationException("Cannot resolve '" + value + "'"));
    }

    protected java.util.Optional<IkonHandler> findHandler(String value) {
        return Arrays.asList(handlers, customHandlers).stream()
            .flatMap(Set::stream)
            .filter(handler -> handler.supports(value))
            .findFirst();
    }

    private boolean isHandlerLoadedViaClasspath(IkonHandler handler) {
        return handlers.stream()
            .anyMatch(h -> h.getFontFamily().equals(handler.getFontFamily()));
    }

    private void throwOrWarn(String message) {
        if (Boolean.getBoolean(ORG_KORDAMP_IKONLI_STRICT)) {
            throw new IllegalArgumentException(message);
        }
        LOGGER.warning(message);
    }

    public static ServiceLoader<IkonHandler> resolveServiceLoader() {
        // Check if handlers must be loaded from a ModuleLayer
        if (null != IkonHandler.class.getModule().getLayer()) {
            ServiceLoader<IkonHandler> ikonHandlerServiceLoaders = ServiceLoader.load(
                IkonHandler.class.getModule().getLayer(),
                IkonHandler.class
            );
            if (ikonHandlerServiceLoaders.findFirst().isPresent()) {
                return ikonHandlerServiceLoaders;
            }
        }

        ServiceLoader<IkonHandler> handlers = ServiceLoader.load(
            IkonHandler.class,
            IkonHandler.class.getClassLoader()
        );
        // Return if the IkonHandler.class.classLoader works or if *nothing* else works
        return handlers.findFirst().isPresent() ? handlers : ServiceLoader.load(IkonHandler.class);
    }
}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/DefaultIkonResolver.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

public class DefaultIkonResolver extends AbstractIkonResolver implements IkonResolver {
    private final FontLoader fontLoader;
    private static volatile DefaultIkonResolver instance;

    protected DefaultIkonResolver(FontLoader fontLoader) {
        this.fontLoader = fontLoader;
        resolveServiceLoader().forEach(handler -> {
            handlers.add(handler);
            fontLoader.loadFont(handler);
        });
    }

    @Override
    public boolean registerHandler(IkonHandler handler) {
        boolean result = super.registerHandler(handler);
        if (result) {
            fontLoader.loadFont(handler);
        }
        return result;
    }

    public static IkonResolver getInstance(FontLoader fontLoader) {
        if (instance == null) {
            synchronized (DefaultIkonResolver.class) {
                if (instance == null) {
                    instance = new DefaultIkonResolver(fontLoader);
                }
            }
        }
        return instance;
    }
}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/FontLoader.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

public interface FontLoader {

    void loadFont(IkonHandler handler);

}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikon.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

/**
 * @author Andres Almiray
 */
public interface Ikon {
    String getDescription();

    int getCode();
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonHandler.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

import java.io.InputStream;
import java.net.URL;

/**
 * @author Andres Almiray
 */
public interface IkonHandler {
    boolean supports(String description);

    Ikon resolve(String description);

    URL getFontResource();

    InputStream getFontResourceAsStream();

    String getFontFamily();

    Object getFont();

    void setFont(Object font);
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonProvider.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

/**
 * @author Andres Almiray
 */
public interface IkonProvider<IKON extends Ikon> {
    Class<IKON> getIkon();
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolver.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

public interface IkonResolver {

    IkonHandler resolve(String value);

    boolean registerHandler(IkonHandler handler);

    boolean unregisterHandler(IkonHandler handler);
}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolverProvider.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference;

public class IkonResolverProvider {
    private static volatile IkonResolver instance;

    private IkonResolverProvider() {
    }

    public static IkonResolver getInstance(FontLoader fontLoader) {
        IkonResolver localInstance = instance;
        if (localInstance == null) {
            synchronized (IkonResolverProvider.class) {
                localInstance = instance;
                if (localInstance == null) {
                    instance = localInstance = createIkonResolver(fontLoader);
                }
            }
        }
        return localInstance;
    }

    private static IkonResolver createIkonResolver(FontLoader fontLoader) {
        return tryGetOSGiResolver().orElseGet(() -> DefaultIkonResolver.getInstance(fontLoader));
    }

    private static java.util.Optional<IkonResolver> tryGetOSGiResolver() {
        try {
            if (!isOSGiAvailable()) {
                return java.util.Optional.empty();
            }

            Bundle bundle = FrameworkUtil.getBundle(IkonResolverProvider.class);
            if (bundle == null) {
                return java.util.Optional.empty();
            }

            BundleContext context = bundle.getBundleContext();
            if (context == null) {
                return java.util.Optional.empty();
            }

            ServiceReference<IkonResolver> ref = context.getServiceReference(IkonResolver.class);
            if (ref == null) {
                return java.util.Optional.empty();
            }

            IkonResolver resolver = context.getService(ref);
            return java.util.Optional.ofNullable(resolver);

        } catch (NoClassDefFoundError | IllegalStateException e) {
            return java.util.Optional.empty();
        }
    }

    private static boolean isOSGiAvailable() {
        try {
            Class.forName("org.osgi.framework.BundleContext");
            return true;
        } catch (ClassNotFoundException e) {
            return false;
        }
    }
}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikonli.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

/**
 * @author Andres Almiray
 */
public enum Ikonli implements Ikon {
    NONE("ikn-none", '\ue600');

    public static Ikonli findByDescription(String description) {
        for (Ikonli font : values()) {
            if (font.getDescription().equals(description)) {
                return font;
            }
        }
        throw new IllegalArgumentException("Icon description '" + description + "' is invalid!");
    }

    private final String description;
    private final int code;

    Ikonli(String description, int code) {
        this.description = description;
        this.code = code;
    }

    @Override
    public String getDescription() {
        return description;
    }

    @Override
    public int getCode() {
        return code;
    }
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonProvider.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

/**
 * @author Andres Almiray
 */
@org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
@org.osgi.service.component.annotations.Component(service = IkonProvider.class)
@org.kordamp.ikonli.infra.nativeimage.annotations.NativeImage
public class IkonliIkonProvider implements IkonProvider<Ikonli> {
    @Override
    public Class<Ikonli> getIkon() {
        return Ikonli.class;
    }
}

================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonResolver.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

import org.kordamp.jipsy.annotations.ServiceProviderFor;
import org.osgi.service.component.annotations.Component;

import java.io.InputStream;
import java.net.URL;

/**
 * @author Andres Almiray
 */
@ServiceProviderFor(IkonHandler.class)
@Component(service = IkonHandler.class)
public class IkonliIkonResolver extends AbstractIkonHandler {
    private static final String FONT_RESOURCE = "/META-INF/resources/ikonli/0.0.0/fonts/ikonli.ttf";

    @Override
    public boolean supports(String description) {
        return description != null && description.startsWith("ikn-");
    }

    @Override
    public Ikon resolve(String description) {
        return Ikonli.findByDescription(description);
    }

    @Override
    public URL getFontResource() {
        return getClass().getResource(FONT_RESOURCE);
    }

    @Override
    public InputStream getFontResourceAsStream() {
        return getClass().getResourceAsStream(FONT_RESOURCE);
    }

    @Override
    public String getFontFamily() {
        return "Ikonli";
    }
}


================================================
FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/OSGiIkonResolver.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli;

import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.osgi.service.component.annotations.ReferencePolicyOption;

@Component(service = IkonResolver.class)
public class OSGiIkonResolver extends AbstractIkonResolver implements IkonResolver {
    private FontLoader fontLoader;

    public OSGiIkonResolver() {
    }

    @Reference
    protected void setFontLoader(FontLoader fontLoader) {
        this.fontLoader = fontLoader;
    }

    @Reference(
        cardinality = ReferenceCardinality.MULTIPLE,
        policyOption = ReferencePolicyOption.GREEDY,
        unbind = "unbindIkonHandler"
    )
    protected void bindIkonHandler(IkonHandler handler) {
        if (registerHandler(handler)) {
            fontLoader.loadFont(handler);
        }
    }

    protected void unbindIkonHandler(IkonHandler handler) {
        unregisterHandler(handler);
    }
}


================================================
FILE: core/ikonli-javafx/ikonli-javafx.gradle
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
dependencies {
    api project(':ikonli-core')

    compileOnly "org.openjfx:javafx-base:${javafxVersion}:${javafx_platform}"
    compileOnly "org.openjfx:javafx-graphics:${javafxVersion}:${javafx_platform}"
    compileOnly "org.openjfx:javafx-controls:${javafxVersion}:${javafx_platform}"
    compileOnly "org.openjfx:javafx-fxml:${javafxVersion}:${javafx_platform}"
    compileOnly "org.openjfx:javafx-swing:${javafxVersion}:${javafx_platform}"

    testImplementation "org.openjfx:javafx-base:${javafxVersion}:${javafx_platform}"
    testImplementation "org.openjfx:javafx-graphics:${javafxVersion}:${javafx_platform}"
    testImplementation "org.openjfx:javafx-controls:${javafxVersion}:${javafx_platform}"
    testImplementation "org.openjfx:javafx-fxml:${javafxVersion}:${javafx_platform}"
    testImplementation "org.openjfx:javafx-swing:${javafxVersion}:${javafx_platform}"
}


================================================
FILE: core/ikonli-javafx/src/main/java/module-info.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
module org.kordamp.ikonli.javafx {
    exports org.kordamp.ikonli.javafx;

    requires transitive org.kordamp.ikonli.core;

    requires javafx.base;
    requires javafx.graphics;
    requires javafx.controls;
    requires static org.osgi.service.component.annotations;
    requires static org.kordamp.ikonli.infra.nativeimage.annotations;
}

================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIcon.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.css.CssMetaData;
import javafx.css.StyleOrigin;
import javafx.css.Styleable;
import javafx.css.StyleableIntegerProperty;
import javafx.css.StyleableObjectProperty;
import javafx.css.StyleableProperty;
import javafx.css.converter.PaintConverter;
import javafx.css.converter.SizeConverter;
import javafx.scene.paint.Color;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Paint;
import javafx.scene.paint.RadialGradient;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonHandler;
import org.kordamp.ikonli.IkonResolverProvider;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import static java.util.Collections.unmodifiableList;
import static java.util.Objects.requireNonNull;

/**
 * @author Andres Almiray
 */
@org.kordamp.ikonli.infra.nativeimage.annotations.NativeImage
public class FontIcon extends Text implements Icon {
    private static final double EPSILON = 0.000001d;
    protected StyleableIntegerProperty iconSize;
    protected StyleableObjectProperty<Paint> iconColor;
    private StyleableObjectProperty<Ikon> iconCode;
    private final StringProperty units;

    public FontIcon() {
        getStyleClass().setAll("ikonli-font-icon");
        setIconSize(8);
        setIconColor(Color.BLACK);

        fontProperty().addListener((v, o, n) -> {
            int size = (int) n.getSize();
            if (size != getIconSize()) {
                setIconSize(size);
            }
        });

        fillProperty().addListener((v, o, n) -> {
            Paint fill = getIconColor();
            if (!Objects.equals(fill, n)) {
                setIconColor(n);
            }
        });

        iconCodeProperty().addListener((v, o, n) -> {
            if (n != null) {
                IkonHandler ikonHandler = IkonResolverProvider.getInstance(JavaFXFontLoader.getInstance()).resolve(n.getDescription());
                setStyle(normalizeStyle(getStyle(), "-fx-font-family", "'" + ikonHandler.getFontFamily() + "'"));
                int code = n.getCode();
                if (code <= '\uFFFF') {
                    setText(String.valueOf((char) code));
                } else {
                    char[] charPair = Character.toChars(code);
                    String symbol = new String(charPair);
                    setText(symbol);
                }
            }
        });

        units = new SimpleStringProperty("px");
    }

    public FontIcon(String iconCode) {
        this();
        setIconLiteral(iconCode);
    }

    public FontIcon(Ikon iconCode) {
        this();
        setIconCode(iconCode);
    }

    public StringProperty unitsProperty() {
        return units;
    }

    @Override
    public String toString() {
        Ikon iconCode = getIconCode();
        return (iconCode != null ? iconCode.getDescription() : "<undef>") + ":" + getIconSize() + ":" + getIconColor();
    }

    @Override
    public IntegerProperty iconSizeProperty() {
        if (iconSize == null) {
            iconSize = new StyleableIntegerProperty(8) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_SIZE;
                }

                @Override
                public Object getBean() {
                    return FontIcon.this;
                }

                @Override
                public String getName() {
                    return "iconSize";
                }

                @Override
                public StyleOrigin getStyleOrigin() {
                    return StyleOrigin.USER_AGENT;
                }
            };
            iconSize.addListener((v, o, n) -> {
                Font font = FontIcon.this.getFont();
                if (Math.abs(font.getSize() - n.doubleValue()) >= EPSILON) {
                    FontIcon.this.setFont(Font.font(font.getFamily(), n.doubleValue()));
                    FontIcon.this.setStyle(normalizeStyle(getStyle(), "-fx-font-size", n.intValue() + resolveUnits()));
                }
            });
        }
        return iconSize;
    }

    private String resolveUnits() {
        String u = units.get();
        return null == u || u.isBlank() ? "px" : u;
    }

    @Override
    public ObjectProperty<Paint> iconColorProperty() {
        if (iconColor == null) {
            iconColor = new StyleableObjectProperty<>(Color.BLACK) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_COLOR;
                }

                @Override
                public Object getBean() {
                    return FontIcon.this;
                }

                @Override
                public String getName() {
                    return "iconColor";
                }

                @Override
                public StyleOrigin getStyleOrigin() {
                    return StyleOrigin.USER_AGENT;
                }
            };
            iconColor.addListener((v, o, n) -> FontIcon.this.setFill(n));
        }
        return iconColor;
    }

    public ObjectProperty<Ikon> iconCodeProperty() {
        if (iconCode == null) {
            iconCode = new StyleableObjectProperty<>() {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_CODE;
                }

                @Override
                public Object getBean() {
                    return FontIcon.this;
                }

                @Override
                public String getName() {
                    return "iconCode";
                }

                @Override
                public StyleOrigin getStyleOrigin() {
                    return StyleOrigin.USER_AGENT;
                }
            };

            iconCode.addListener((v, o, n) -> {
                if (!iconCode.isBound()) {
                    FontIcon.this.setIconCode(n);
                }
            });
        }
        return iconCode;
    }

    @Override
    public int getIconSize() {
        return iconSizeProperty().get();
    }

    @Override
    public void setIconSize(int size) {
        if (size <= 0) {
            throw new IllegalStateException("Argument 'size' must be greater than zero.");
        }
        iconSizeProperty().set(size);
    }

    @Override
    public Paint getIconColor() {
        return iconColorProperty().get();
    }

    @Override
    public void setIconColor(Paint paint) {
        iconColorProperty().set(requireNonNull(paint, "Argument 'paint' must not be null"));
    }

    public Ikon getIconCode() {
        return iconCodeProperty().get();
    }

    public void setIconCode(Ikon iconCode) {
        iconCodeProperty().set(requireNonNull(iconCode, "Argument 'code' must not be null"));
    }

    private String normalizeStyle(String style, String key, String value) {
        int start = style.indexOf(key);
        if (start != -1) {
            int end = style.indexOf(";", start);
            end = end >= start ? end : style.length() - 1;
            style = style.substring(0, start) + style.substring(end + 1);
        }
        return style + key + ": " + value + ";";
    }

    public String getIconLiteral() {
        Ikon ikon = iconCodeProperty().get();
        return ikon != null ? ikon.getDescription() : null;
    }

    public void setIconLiteral(String iconCode) {
        String[] parts = iconCode.split(":");
        setIconCode(IkonResolverProvider.getInstance(JavaFXFontLoader.getInstance()).resolve(parts[0]).resolve(parts[0]));
        resolveSize(iconCode, parts);
        resolvePaint(iconCode, parts);
    }

    @Override
    public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
        return FontIcon.getClassCssMetaData();
    }

    private void resolveSize(String iconCode, String[] parts) {
        if (parts.length > 1) {
            try {
                setIconSize(Integer.parseInt(parts[1]));
            } catch (NumberFormatException e) {
                throw invalidDescription(iconCode, e);
            }
        }
    }

    private void resolvePaint(String iconCode, String[] parts) {
        if (parts.length > 2) {
            Paint paint = resolvePaintValue(iconCode, parts[2]);
            if (paint != null) {
                setIconColor(paint);
            }
        }
    }

    public static FontIcon of(Ikon ikon) {
        return of(ikon, 8, Color.BLACK);
    }

    public static FontIcon of(Ikon ikon, int iconSize) {
        return of(ikon, iconSize, Color.BLACK);
    }

    public static FontIcon of(Ikon ikon, Color iconColor) {
        return of(ikon, 8, iconColor);
    }

    public static FontIcon of(Ikon iconCode, int iconSize, Color iconColor) {
        FontIcon icon = new FontIcon();
        icon.setIconCode(iconCode);
        icon.setIconSize(iconSize);
        icon.setIconColor(iconColor);
        return icon;
    }

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData() {
        return StyleableProperties.STYLEABLES;
    }

    private static Paint resolvePaintValue(String iconCode, String value) {
        try {
            return Color.valueOf(value);
        } catch (IllegalArgumentException e1) {
            try {
                return LinearGradient.valueOf(value);
            } catch (IllegalArgumentException e2) {
                try {
                    return RadialGradient.valueOf(value);
                } catch (IllegalArgumentException e3) {
                    throw invalidDescription(iconCode, e3);
                }
            }
        }
    }

    public static IllegalArgumentException invalidDescription(String description, Exception e) {
        throw new IllegalArgumentException("Description " + description + " is not a valid icon description", e);
    }

    private static class StyleableProperties {
        private static final CssMetaData<FontIcon, Number> ICON_SIZE =
            new CssMetaData<FontIcon, Number>("-fx-icon-size",
                SizeConverter.getInstance(), 8) {

                @Override
                public boolean isSettable(FontIcon icon) {
                    return true;
                }

                @Override
                public StyleableProperty<Number> getStyleableProperty(FontIcon icon) {
                    return (StyleableProperty<Number>) icon.iconSizeProperty();
                }
            };

        private static final CssMetaData<FontIcon, Paint> ICON_COLOR =
            new CssMetaData<FontIcon, Paint>("-fx-icon-color",
                PaintConverter.getInstance(), Color.BLACK) {

                @Override
                public boolean isSettable(FontIcon node) {
                    return true;
                }

                @Override
                public StyleableProperty<Paint> getStyleableProperty(FontIcon icon) {
                    return (StyleableProperty<Paint>) icon.iconColorProperty();
                }
            };

        private static final CssMetaData<FontIcon, Ikon> ICON_CODE =
            new CssMetaData<FontIcon, Ikon>("-fx-icon-code",
                FontIconConverter.getInstance(), null) {

                @Override
                public boolean isSettable(FontIcon node) {
                    return true;
                }

                @Override
                public StyleableProperty<Ikon> getStyleableProperty(FontIcon icon) {
                    return (StyleableProperty<Ikon>) icon.iconCodeProperty();
                }
            };

        private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;

        static {
            final List<CssMetaData<? extends Styleable, ?>> styleables =
                new ArrayList<>(Text.getClassCssMetaData());
            styleables.add(ICON_SIZE);
            styleables.add(ICON_COLOR);
            styleables.add(ICON_CODE);
            STYLEABLES = unmodifiableList(styleables);
        }
    }
}

================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconConverter.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.css.ParsedValue;
import javafx.css.StyleConverter;
import javafx.scene.text.Font;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonResolverProvider;

/**
 * @author Andres Almiray
 */
public class FontIconConverter extends StyleConverter<String, Ikon> {
    private static class Holder {
        static final FontIconConverter INSTANCE = new FontIconConverter();
        static final SequenceConverter SEQUENCE_INSTANCE = new SequenceConverter();
    }

    public static StyleConverter<String, Ikon> getInstance() {
        return Holder.INSTANCE;
    }

    private FontIconConverter() {

    }

    @Override
    public String toString() {
        return "FontIconConverter";
    }

    @Override
    public Ikon convert(ParsedValue<String, Ikon> value, Font font) {
        String description = value.getValue().trim();
        return IkonResolverProvider.getInstance(JavaFXFontLoader.getInstance()).resolve(description).resolve(description);
    }

    public static final class SequenceConverter extends StyleConverter<String, Ikon[]> {
        public static SequenceConverter getInstance() {
            return Holder.SEQUENCE_INSTANCE;
        }

        private SequenceConverter() {
            super();
        }

        @Override
        public Ikon[] convert(ParsedValue<String, Ikon[]> value, Font font) {
            String[] descriptions = value.getValue().split(",");
            Ikon[] ikons = new Ikon[descriptions.length];
            for (int i = 0; i < descriptions.length; i++) {
                String description = descriptions[i].trim();
                ikons[i] = IkonResolverProvider.getInstance(JavaFXFontLoader.getInstance()).resolve(description).resolve(description);
            }
            return ikons;
        }

        @Override
        public String toString() {
            return "FontIcon.SequenceConverter";
        }
    }
}

================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconTableCell.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Pos;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.util.Callback;
import javafx.util.StringConverter;
import org.kordamp.ikonli.Ikon;

import static java.util.Objects.requireNonNull;

public class FontIconTableCell<S, T> extends TableCell<S, T> {
    private static final String ERROR_CONVERTER_NULL = "Argument 'converter' must not be null";

    public static <S, T> Callback<TableColumn<S, T>, TableCell<S, T>> forTableColumn() {
        return param -> new FontIconTableCell<S, T>();
    }

    public static <S, T> Callback<TableColumn<S, T>, TableCell<S, T>> forTableColumn(StringConverter<T> converter) {
        return param -> new FontIconTableCell<S, T>(converter);
    }

    private Subscription subscription;
    private final FontIcon icon;
    private final ObjectProperty<StringConverter<T>> converter = new SimpleObjectProperty<StringConverter<T>>(this, "converter");

    @SuppressWarnings("unchecked")
    public FontIconTableCell() {
        this(new StringConverter<T>() {
            @Override
            public String toString(T object) {
                return object != null ? String.valueOf(object) : "";
            }

            @Override
            public T fromString(String string) {
                // leave it as is for now
                return null;
            }
        });
    }

    public FontIconTableCell(StringConverter<T> converter) {
        this.getStyleClass().add("font-icon-table-cell");
        this.icon = new FontIcon();
        setConverter(requireNonNull(converter, ERROR_CONVERTER_NULL));
    }

    public final ObjectProperty<StringConverter<T>> converterProperty() {
        return converter;
    }

    public final void setConverter(StringConverter<T> converter) {
        converterProperty().set(requireNonNull(converter, ERROR_CONVERTER_NULL));
    }

    public final StringConverter<T> getConverter() {
        return converterProperty().get();
    }

    @Override
    public void updateItem(T item, boolean empty) {
        super.updateItem(item, empty);

        if (empty) {
            setGraphic(null);
        } else {
            if (subscription != null) {
                subscription.unsubscribe();
                subscription = null;
            }

            final TableColumn<S, T> column = getTableColumn();
            ObservableValue<T> observable = column == null ? null : column.getCellObservableValue(getIndex());

            if (observable != null) {
                ChangeListener<T> listener = (v, o, n) -> setIconCode(n);
                observable.addListener(listener);
                subscription = () -> observable.removeListener(listener);
                setIconCode(observable.getValue());
            } else if (item != null) {
                setIconCode(item);
            }

            setGraphic(icon);
            setAlignment(Pos.CENTER);
        }
    }

    private void setIconCode(T value) {
        if (value instanceof Ikon) {
            icon.setIconCode((Ikon) value);
        } else {
            icon.setIconLiteral(getConverter().toString(value));
        }
    }

    private interface Subscription {
        void unsubscribe();
    }
}


================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/Icon.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.css.Styleable;
import javafx.scene.paint.Paint;

/**
 * @author Andres Almiray
 */
public interface Icon extends Styleable {
    IntegerProperty iconSizeProperty();

    ObjectProperty<Paint> iconColorProperty();

    void setIconSize(int size);

    int getIconSize();

    void setIconColor(Paint paint);

    Paint getIconColor();
}


================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/JavaFXFontLoader.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.scene.text.Font;
import org.kordamp.ikonli.FontLoader;
import org.kordamp.ikonli.IkonHandler;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

@org.osgi.service.component.annotations.Component(service = FontLoader.class)
public class JavaFXFontLoader implements FontLoader {
    private static final Map<String, Font> FONTS = new ConcurrentHashMap<>();

    @Override
    public void loadFont(IkonHandler handler) {
        String fontResource = handler.getFontResource().toExternalForm();
        Font font = FONTS.computeIfAbsent(fontResource, key -> Font.loadFont(key, 16));
        handler.setFont(font);
    }

    public static FontLoader getInstance() {
        return new JavaFXFontLoader();
    }
}


================================================
FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/StackedFontIcon.java
================================================
/*
 * SPDX-License-Identifier: Apache-2.0
 *
 * Copyright 2015-2025 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.value.ChangeListener;
import javafx.collections.ListChangeListener;
import javafx.collections.MapChangeListener;
import javafx.css.CssMetaData;
import javafx.css.StyleOrigin;
import javafx.css.Styleable;
import javafx.css.StyleableIntegerProperty;
import javafx.css.StyleableObjectProperty;
import javafx.css.StyleableProperty;
import javafx.css.converter.PaintConverter;
import javafx.css.converter.SizeConverter;
import javafx.scene.Node;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.paint.Paint;
import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonResolverProvider;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import static java.util.Collections.unmodifiableList;
import static java.util.Objects.requireNonNull;

/**
 * @author Andres Almiray
 */
public class StackedFontIcon extends StackPane implements Icon {
    private static final String KEY_STACKED_FONT_ICON_SIZE = StackedFontIcon.class.getName() + ".iconSize";

    private StyleableIntegerProperty iconSize;
    private StyleableObjectProperty<Paint> iconColor;
    private double[] iconSizes = new double[0];

    private final ChangeListener<Number> iconSizeChangeListener = (v, o, n) -> setIconSizeOnChildren(n.intValue());
    private final ChangeListener<Paint> iconColorChangeListener = (v, o, n) -> setIconColorOnChildren(n);

    public static void setIconSize(Node icon, double size) {
        if (icon != null && size >= 0d && size <= 1.0d) {
            icon.getProperties().put(KEY_STACKED_FONT_ICON_SIZE, size);
        }
    }

    public static double getIconSize(Node icon) {
        if (icon != null) {
            Object value = icon.getProperties().get(KEY_STACKED_FONT_ICON_SIZE);
            if (value instanceof Number) {
                return ((Number) value).doubleValue();
            }
        }
        return 1.0d;
    }

    private class NodeSizeListener implements MapChangeListener<Object, Object> {
        private final Node node;

        private NodeSizeListener(Node node) {
            this.node = node;
        }

        @Override
        public void onChanged(Change<?, ?> change) {
            if (KEY_STACKED_FONT_ICON_SIZE.equals(String.valueOf(change.getKey()))) {
                int size = getChildren().size();
                for (int i = 0; i < size; i++) {
                    if (node == getChildren().get(i)) {
                        double value = 0;
                        Object valueAdded = change.getValueAdded();
                        if (valueAdded instanceof Number) {
                            value = ((Number) valueAdded).doubleValue();
                        } else {
                            value = Double.parseDouble(String.valueOf(valueAdded));
                        }
                        iconSizes[i] = value;
                        return;
                    }
                }
            }
        }
    }

    public StackedFontIcon() {
        getStyleClass().setAll("stacked-ikonli-font-icon");

        final String propertiesListenerKey = StackedFontIcon.class.getName() + "-" + System.identityHashCode(this);

        getChildren().addListener(new ListChangeListener<Node>() {
            @Override
            public void onChanged(Change<? extends Node> c) {
                while (c.next()) {
                    if (c.wasAdded()) {
                        int size = c.getTo() - c.getFrom();
                        // grow iconSizes by size
                        iconSizes = Arrays.copyOf(iconSizes, iconSizes.length + size);
                        // apply 1.0 [from..to]
                        for (int i = c.getFrom(); i < c.getTo(); i++) {
                            iconSizes[i] = getIconSize(c.getList().get(i));
                        }
                        for (Node node : c.getAddedSubList()) {
                            node.getProperties().put(propertiesListenerKey, new NodeSizeListener(node));
                        }
                    } else if (c.wasRemoved()) {
                        int size = c.getTo() - c.getFrom();
                        // shrink iconSizes by size
                        double[] newIconSizes = new double[iconSizes.length - size];
                        // copy [0..from]
                        int index = 0;
                        for (int i = 0; i < c.getFrom(); i++) {
                            newIconSizes[index++] = iconSizes[i];
                        }
                        // copy [to..-1]
                        for (int i = c.getTo(); i < iconSizes.length; i++) {
                            newIconSizes[index++] = iconSizes[i];
                        }
                        iconSizes = newIconSizes;
                        for (Node node : c.getRemoved()) {
                            node.getProperties().remove(propertiesListenerKey);
                        }
                    } else if (c.wasPermutated()) {
                        double[] newIconSizes = Arrays.copyOf(iconSizes, iconSizes.length);
                        for (int i = c.getFrom(); i <= c.getTo(); i++) {
                            newIconSizes[i] = c.getPermutation(i);
                        }
                        iconSizes = newIconSizes;
                    }
                }
            }
        });
    }

    public IntegerProperty iconSizeProperty() {
        if (iconSize == null) {
            iconSize = new StyleableIntegerProperty(16) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_SIZE;
                }

                @Override
                public Object getBean() {
                    return StackedFontIcon.this;
                }

                @Override
                public String getName() {
                    return "iconSize";
                }

                @Override
                public StyleOrigin getStyleOrigin() {
                    return StyleOrigin.USER_AGENT;
                }
            };
            iconSize.addListener(iconSizeChangeListener);
        }
        return iconSize;
    }

    public ObjectProperty<Paint> iconColorProperty() {
        if (iconColor == null) {
            iconColor = new StyleableObjectProperty<Paint>(Color.BLACK) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_COLOR;
                }

                @Override
                public Object getBean() {
                    return StackedFontIcon.this;
                }

                @Override
                public String getName() {
                    return "iconColor";
                }

                @Override
                public StyleOrigin getStyleOrigin() {
                    return StyleOrigin.USER_AGENT;
                }
            };
            iconColor.addListener(iconColorChangeListener);
        }
        return iconColor;
    }

    public void setIconSize(int size) {
        if (size <= 0) {
            throw new IllegalStateException("Argument 'size' must be greater than zero.");
        }
        iconSizeProperty().set(size);
    }

    public int getIconSize() {
        return iconSizeProperty().get();
    }

    public void setIconColor(Paint paint) {
        requireNonNull(paint, "Argument 'paint' must not be null");
        iconColorProperty().set(paint);
    }

    public Paint getIconColor() {
        return iconColorProperty().get();
    }

    public void setIconCodes(Ikon... iconCodes) {
        getChildren().clear();
        initializeSizesIfNeeded(iconCodes);
        updateIconCodes(iconCodes);
    }

    public void setIconCodeLiterals(String... iconCodes) {
        getChildren().clear();
        Ikon[] codes = new Ikon[iconCodes.length];
        for (int i = 0; i < iconCodes.length; i++) {
            codes[i] = IkonResolverProvider.getInstance(JavaFXFontLoader.getInstance()).resolve(iconCodes[i]).resolve(iconCodes[i]);
        }
        initializeSizesIfNeeded(iconCodes);
        updateIconCodes(codes);
    }

    /**
     * Sets the size for each child icon relative to this icon's size.
     *
     * @param iconSizes values must be within the range [0..1]
     */
    public void setIconSizes(double... iconSizes) {
        this.iconSizes = iconSizes;
        setIconSizeOnChildren(getIconSize());
    }

    public void setColors(Paint... iconColors) {
        int i = 0;
        for (Node node : getChildren()) {
            if (node instanceof Icon) {
                ((Icon) node).setIconColor(iconColors[i++]);
            }
        }
    }

    private void initializeSizesIfNeeded(Object[] array) {
        if (iconSizes.length == 0 || iconSizes.length != array.length) {
            iconSizes = new double[array.length];
            Arrays.fill(iconSizes, 1d);
        }
    }

    private void updateIconCodes(Ikon[] iconCodes) {
        for (int index = 0; index < iconCodes.length; index++) {
            getChildren().add(createFontIcon(iconCodes[index], index));
        }
    }

    private FontIcon createFontIcon(Ikon iconCode, int index) {
        FontIcon icon = new FontIcon(iconCode);
        icon.setIconSize(getIconSize());
        icon.setIconColor(getIconColor());
        int size = icon.getIconSize();
        applySizeToIcon(size, icon, index);
        return icon;
    }

    private static class StyleableProperties {
        private static final CssMetaData<StackedFontIcon, Number> ICON_SIZE =
            new CssMetaData<StackedFontIcon, Number>("-fx-icon-size",
                SizeConverter.getInstance(), 16.0) {

                @Override
                public boolean isSettable(StackedFontIcon fontIcon) {
                    return true;
                }

                @Override
                public StyleableProperty<Number> getStyleableProperty(StackedFontIcon icon) {
                    return (StyleableProperty<Number>) icon.iconSizeProperty();
                }
            };

        private static final CssMetaData<StackedFontIcon, Paint> ICON_COLOR =
            new CssMetaData<StackedFontIcon, Paint>("-fx-icon-color",
                PaintConverter.getInstance(), Color.BLACK) {

                @Override
                public boolean isSettable(StackedFontIcon node) {
                    return true;
                }

                @Override
                public StyleableProperty<Paint> getStyleableProperty(StackedFontIcon icon) {
                    return (StyleableProperty<Paint>) icon.iconColorProperty();
                }
            };

        private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;

        static {
            final List<CssMetaData<? extends Styleable, ?>> styleables =
                new ArrayList<CssMetaData<? extends Styleable, ?>>(StackPane.getClassCssMetaData());
            styleables.add(ICON_SIZE);
            styleables.add(ICON_COLOR);
            STYLEABLES = unmodifiableList(styleables);
        }
    }

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData() {
        return StyleableProperties.STYLEABLES;
    }

    public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
        return StackedFontIcon.getClassCssMetaData();
    }

    private void setIconSizeOnChildren(int size) {
        int i = 0;
        for (Node node : getChildren()) {
            if (node instanceof Icon) {
                applySizeToIcon(size, (Icon) node, i++);
            }
        }
    }

    private void applySizeToIcon(int size, Icon icon, int index) {
        double childPercentageSize = iconSizes[index];
        double newSize = size * childPercentageSize;
        icon.setIconSize((int) newSize);
    }

    private void setIconColorOnChildren(Paint color) {
        for (Node node : getChildren()) {
            if (node instanceof Icon) {
                ((Icon) node).setIconColor(color);
            }
        }
    }
}


================================================
FILE: core/ikonli-javafx/tmp/FontIconTest.java
================================================
/*
 * Copyright 2015-2018 Andres Almiray
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.kordamp.ikonli.javafx;

import javafx.embed.swing.JFXPanel;
import org.junit.Test;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.junit.Assert.assertThat;

public class FontIconTest {
    static {
        new JFXPanel();
    }

    @Test
    public void ensureStyleHasNoDuplicateSize() {
        // given:
        FontIcon icon = new FontIcon();

        // expect
        String style = icon.getStyle();
        assertThat(style, equalTo(""));

        // when:
        icon.setIconSize(32);

        // then:
        style = icon.getStyle();
        assertThat(style, equalTo("-fx-font-size: 32px;"));

        // when:
        icon.setIconSize(48);

        // then:
        style = icon.getStyle();
        assertThat(style, equalTo("-fx-font-size: 48px;"));
    }
}


================================================
FILE: core/ikonli-javafx/tmp/PaintConverter.java
================================================
package org.kordamp.ikonli.javafx.converters;

import javafx.css.ParsedValue;
import javafx.css.StyleConverter;
import javafx.scene.paint.Paint;
import javafx.scene.text.Font;

import java.lang.reflect.Method;

/**
 * @author Andres Almiray
 */
public class PaintConverter extends StyleConverter<ParsedValue<?, Paint>, Paint> {
    private final StyleConverter<ParsedValue<?, Paint>, Paint> delegate;

    public static PaintConverter getInstance() {

        ClassLoader classLoader = PaintConverter.class.getClassLoader();
        Class<?> converterClass = null;

        String JDK9_CLASS = "javafx.css.converter.PaintConverter";
        String JDK8_CLASS = "com.sun.javafx.css.converters.PaintConverter";
        try {
            converterClass = classLoader.loadClass(JDK9_CLASS);
        } catch (ClassNotFoundException e) {
            try {
                converterClass = classLoader.loadClass(JDK8_CLASS);
            } catch (ClassNotFoundException e1) {
                throw new IllegalStateException("Can't locate either " + JDK9_CLASS + " or " + JDK8_CLASS);
            }
        }

        try {
            Method getInstance = converterClass.getDeclaredMethod("getInstance");
            return new PaintConverter((StyleConverter<ParsedValue<?, Paint>, Paint>) getInstance.invoke(null));
        } catch (Exception e) {
            throw new IllegalStateException("Unnexpected error while grabbing instance from " + converterClass.getName(), e);
        }
    }

    private PaintConverter(StyleConverter<ParsedValue<?, Paint>, Paint> delegate) {
        this.delegate = delegate;
    }

    @Override
    public Paint convert(ParsedValue<ParsedValue<?, Paint>, Paint> value, Font font) {
        return delegate.convert(value, font);
    }
}


================================================
FILE: core/ikonli-javafx/tmp/SVGGlyphRegistry.java
================================================
package org.kordamp.ikonli.javafx;

import org.kordamp.ikonli.Ikon;
import org.kordamp.ikonli.IkonHandler;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.InputStream;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * @author Andres Almiray
 */
public final class SVGGlyphRegistry {
    private static final SVGGlyphRegistry INSTANCE;
    private final Map<String, Map<String, String>> glyphCache = new ConcurrentHashMap<>();

    static {
        INSTANCE = new SVGGlyphRegistry();
    }

    public static SVGGlyphRegistry getInstance() {
        return INSTANCE;
    }

    private SVGGlyphRegistry() {
    }

    public String getSVGContent(Ikon ikon) {
        return resolveGlyphs(ikon).get(String.valueOf(ikon.getCode()));
    }

    private Map<String, String> resolveGlyphs(Ikon ikon) {
        String className = ikon.getClass().getName();
        Map<String, String> glyphs = glyphCache.get(className);
        if (glyphs == null) {
            glyphs = new LinkedHashMap<>();
            glyphCache.put(className, glyphs);
            try {
                loadGlyphs(glyphs, ikon);
            } catch (Exception e) {
                // ignore
                e.printStackTrace();
            }
        }
        return glyphs;
    }

    private void loadGlyphs(Map<String, String> glyphs, Ikon ikon) throws Exception {
        IkonHandler ikonHandler = IkonResolver.getInstance().resolveIkonHandler(ikon.getDescription());
        String resource = ikonHandler.getFontResourcePath();
        resource = resource.substring(0, resource.length() - 3) + "svg";

        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

        InputStream is = getClass().getClassLoader().getResourceAsStream(resource);
        Document doc = docBuilder.parse(is);
        doc.getDocumentElement().normalize();
        NodeList glyphsList = doc.getElementsByTagName("glyph");
        for (int i = 0; i < glyphsList.getLength(); i++) {
            Node glyphNode = glyphsList.item(i);
            Node unicodeNode = glyphNode.getAttributes().getNamedItem("unicode");
            if (unicodeNode == null) {
                continue;
            }
            String unicode = unicodeNode.getNodeValue();
            Node pathNode = glyphNode.getAttributes().getNamedItem("d");
            if (pathNode == null) {
                continue;
            }
            glyphs.put(unicode, pathNode.getNodeValue());
        }
    }
}


================================================
FILE: core/ikonli-javafx/tmp/SVGIcon.java
================================================
package org.kordamp.ikonli.javafx;

import com.sun.javafx.css.converters.PaintConverter;
import com.sun.javafx.css.converters.SizeConverter;
import javafx.beans.property.IntegerProperty;
import javafx.beans.property.ObjectProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.css.CssMetaData;
import javafx.css.Styleable;
import javafx.css.StyleableIntegerProperty;
import javafx.css.StyleableObjectProperty;
import javafx.css.StyleableProperty;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.layout.Region;
import javafx.scene.paint.Color;
import javafx.scene.paint.LinearGradient;
import javafx.scene.paint.Paint;
import javafx.scene.paint.RadialGradient;
import javafx.scene.shape.SVGPath;
import org.kordamp.ikonli.Ikon;

import java.util.ArrayList;
import java.util.List;

import static java.util.Collections.unmodifiableList;
import static java.util.Objects.requireNonNull;

/**
 * @author Andres Almiray
 */
public class SVGIcon extends Region implements Icon {
    protected StyleableIntegerProperty iconSize;
    protected StyleableObjectProperty<Paint> iconColor;
    private StyleableObjectProperty<Ikon> iconCode;
    private final SVGPath path = new SVGPath();

    private ChangeListener<Number> iconSizeChangeListener = new ChangeListener<Number>() {
        @Override
        public void changed(ObservableValue<? extends Number> v, Number o, Number n) {
            //SVGIcon.this.setStyle(getStyle() + "-fx-font-size: " + n + "px;");
        }
    };
    private ChangeListener<Paint> iconColorChangeListener = new ChangeListener<Paint>() {
        @Override
        public void changed(ObservableValue<? extends Paint> v, Paint o, Paint n) {
            path.setFill(n);
        }
    };
    private ChangeListener<Ikon> iconFontChangeListener = new ChangeListener<Ikon>() {
        @Override
        public void changed(ObservableValue<? extends Ikon> v, Ikon o, Ikon n) {
            SVGIcon.this.setIconCode(n);
        }
    };

    public SVGIcon() {
        getChildren().add(path);
        path.setScaleX(0.1);
        path.setScaleY(0.1);
        getStyleClass().setAll("ikonli-svg-icon");
        setIconSize(16);
        setIconColor(Color.BLACK);
    }

    public SVGIcon(String iconCode) {
        this();
        setIconLiteral(iconCode);
    }

    public SVGIcon(Ikon iconCode) {
        this();
        setIconCode(iconCode);
    }

    public String toString() {
        return getIconCode().getDescription() + ":" + getIconSize() + ":" + getIconColor();
    }

    @Override
    public IntegerProperty iconSizeProperty() {
        if (iconSize == null) {
            iconSize = new StyleableIntegerProperty(16) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_SIZE;
                }

                @Override
                public Object getBean() {
                    return SVGIcon.this;
                }

                @Override
                public String getName() {
                    return "iconSize";
                }
            };
            iconSize.addListener(iconSizeChangeListener);
        }
        return iconSize;
    }

    @Override
    public ObjectProperty<Paint> iconColorProperty() {
        if (iconColor == null) {
            iconColor = new StyleableObjectProperty<Paint>(Color.BLACK) {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_COLOR;
                }

                @Override
                public Object getBean() {
                    return SVGIcon.this;
                }

                @Override
                public String getName() {
                    return "iconColor";
                }
            };
            iconColor.addListener(iconColorChangeListener);
        }
        return iconColor;
    }

    public ObjectProperty<Ikon> iconCodeProperty() {
        if (iconCode == null) {
            iconCode = new StyleableObjectProperty<Ikon>() {
                @Override
                public CssMetaData getCssMetaData() {
                    return StyleableProperties.ICON_CODE;
                }

                @Override
                public Object getBean() {
                    return SVGIcon.this;
                }

                @Override
                public String getName() {
                    return "iconCode";
                }
            };
            iconCode.addListener(iconFontChangeListener);
        }
        return iconCode;
    }

    public ObjectProperty<Ikon> getIconCodeProperty() {
        return iconCodeProperty();
    }

    @Override
    public void setIconSize(int size) {
        if (size <= 0) {
            throw new IllegalStateException("Argument 'size' must be greater than zero.");
        }
        iconSizeProperty().set(size);
    }

    @Override
    public int getIconSize() {
        return iconSizeProperty().get();
    }

    @Override
    public void setIconColor(Paint paint) {
        requireNonNull(paint, "Argument 'paint' must not be null");
        iconColorProperty().set(paint);
    }

    @Override
    public Paint getIconColor() {
        return iconColorProperty().get();
    }

    public Ikon getIconCode() {
        return iconCodeProperty().get();
    }

    public void setIconCode(Ikon iconCode) {
        iconCodeProperty().set(requireNonNull(iconCode, "Argument 'code' must not be null"));
        path.setContent(SVGGlyphRegistry.getInstance().getSVGContent(iconCode));
    }

    public void setIconLiteral(String iconCode) {
        String[] parts = iconCode.split(":");
        setIconCode(IkonResolver.getInstance().resolveIkonHandler(parts[0]).resolve(parts[0]));
        resolveSize(iconCode, parts);
        resolvePaint(iconCode, parts);
    }

    public String getIconLiteral() {
        Ikon ikon = iconCodeProperty().get();
        return ikon != null ? ikon.getDescription() : null;
    }

    private static class StyleableProperties {
        private static final CssMetaData<SVGIcon, Number> ICON_SIZE =
            new CssMetaData<SVGIcon, Number>("-fx-icon-size",
                SizeConverter.getInstance(), 16.0) {

                @Override
                public boolean isSettable(SVGIcon icon) {
                    return true;
                }

                @Override
                public StyleableProperty<Number> getStyleableProperty(SVGIcon icon) {
                    return (StyleableProperty<Number>) icon.iconSizeProperty();
                }
            };

        private static final CssMetaData<SVGIcon, Paint> ICON_COLOR =
            new CssMetaData<SVGIcon, Paint>("-fx-icon-color",
                PaintConverter.getInstance(), Color.BLACK) {

                @Override
                public boolean isSettable(SVGIcon node) {
                    return true;
                }

                @Override
                public StyleableProperty<Paint> getStyleableProperty(SVGIcon icon) {
                    return (StyleableProperty<Paint>) icon.iconColorProperty();
                }
            };

        private static final CssMetaData<SVGIcon, Ikon> ICON_CODE =
            new CssMetaData<SVGIcon, Ikon>("-fx-icon-code",
                SVGIconConverter.getInstance(), null) {

                @Override
                public boolean isSettable(SVGIcon node) {
                    return true;
                }

                @Override
                public StyleableProperty<Ikon> getStyleableProperty(SVGIcon icon) {
                    return (StyleableProperty<Ikon>) icon.iconCodeProperty();
                }
            };

        private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;

        static {
            final List<CssMetaData<? extends Styleable, ?>> styleables =
                new ArrayList<CssMetaData<? extends Styleable, ?>>(Region.getClassCssMetaData());
            styleables.add(ICON_SIZE);
            styleables.add(ICON_COLOR);
            styleables.add(ICON_CODE);
            STYLEABLES = unmodifiableList(styleables);
        }
    }

    public static List<CssMetaData<? extends Styleable, ?>> getClassCssMetaData() {
        return StyleableProperties.STYLEABLES;
    }

    public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
        return SVGIcon.getClassCssMetaData();
    }

    private void resolveSize(String iconCode, String[] parts) {
        if (parts.length > 1) {
            try {
                setIconSize(Integer.parseInt(parts[1]));
            } catch (NumberFormatException e) {
                throw invalidDescription(iconCode, e);
            }
        } else {
            setIconSize(16);
        }
    }

    private void resolvePaint(String iconCode, String[] parts) {
        if (parts.length > 2) {
            Paint paint = resolvePaintValue(iconCode, parts[2]);
            if (paint != null) {
                setIconColor(paint);
            }
        }
    }

    private static Paint resolvePaintValue(String iconCode, String value) {
        try {
            return Color.valueOf(value);
        } catch (IllegalArgumentException e1) {
            try {
                return LinearGradient.valueOf(value);
            } catch (IllegalArgumentException e2) {
                try {
                    return RadialGradient.valueOf(value);
                } catch (IllegalArgumentException e3) {
                    throw invalidDescription(iconCode, e3);
                }
            }
        }
    }

    public static IllegalArgumentException invalidDescription(String description, Exception e) {
        throw new IllegalArgumentException("Description " + description + " is not a valid icon description", e);
    }
}


================================================
FILE: core/ikonli-javafx/tmp/SVGIconConverter.java
================================================
/*
 * Copyright 2015-2016 Andres Almiray. <aalmiray@yahoo.com>
 *
 * This file is part of Ikonli
 *
 * Ikonli is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Ikonli is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Ikonli. If not, see <http://www.gnu.org/licenses/>.
 *
 * ========================================================================
 *
 * This library is distributed under the terms of the GNU General Public
 * License with the following clarification and special exception:
 *
 * Linking this library statically or dynamically with other modules is
 * making a combined work based on this library. Thus, the terms and
 * conditions of the GNU General Public License cover the whole
 * combination.
 *
 * As an special exception, the copyright holders of this library give
 * you permission to use this library under the terms of the Apache
 * Software License v2 and forego the licensing terms of the GNU General
 * Public License if and only if the library is used as part of an
 * executable and/or application that makes use of the APIs of either the
 * Griffon Framework (https://github.com/griffon/griffon) or the
 * Basilisk Framework (https://github.com/basilisk-fw/basilisk).
 *
 * ========================================================================
 *
 * Licensed under the Apache License, Version 2.0 (the "Li
Download .txt
gitextract_k4il8tur/

├── .bach/
│   └── bach.info/
│       └── module-info.java
├── .github/
│   ├── FUNDING.yml
│   └── workflows/
│       ├── build.yml
│       ├── early-access.yml
│       └── release.yml
├── .gitignore
├── LICENSE
├── README.adoc
├── SECURITY.md
├── VERSION
├── apps/
│   ├── ikonli-browser/
│   │   ├── ikonli-browser.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── eu/
│   │           │   │   └── hansolo/
│   │           │   │       └── tilesfx/
│   │           │   │           └── tools/
│   │           │   │               └── FlowGridPane.java
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── browser/
│   │           │                   ├── AboutDialog.java
│   │           │                   ├── IkonBrowser.java
│   │           │                   ├── IkonInternalWindow.java
│   │           │                   ├── IkonPickerDialog.java
│   │           │                   ├── Launcher.java
│   │           │                   ├── SearchInternalWindow.java
│   │           │                   ├── Versions.java
│   │           │                   └── internal/
│   │           │                       └── JavaFXThreadProxyObservableList.java
│   │           ├── jpackage/
│   │           │   └── icons/
│   │           │       └── ikonli-browser.icns
│   │           └── resources/
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── browser/
│   │                               ├── browser.css
│   │                               ├── common.css
│   │                               ├── ikon-window.css
│   │                               └── versions.properties
│   ├── sampler-javafx/
│   │   ├── sampler-javafx.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── sampler/
│   │           │                   └── javafx/
│   │           │                       └── Sampler.java
│   │           └── resources/
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── sampler/
│   │                               └── javafx/
│   │                                   ├── sampler.css
│   │                                   └── sampler.fxml
│   └── sampler-swing/
│       ├── sampler-swing.gradle
│       └── src/
│           └── main/
│               └── java/
│                   ├── module-info.java
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── sampler/
│                                   └── swing/
│                                       └── Sampler.java
├── bach.args
├── build.gradle
├── buildSrc/
│   ├── build.gradle
│   └── src/
│       └── main/
│           └── groovy/
│               └── org/
│                   └── kordamp/
│                       └── ikonli/
│                           └── gradle/
│                               └── NativeImageResourceGeneratorTask.groovy
├── core/
│   ├── ikonli-bom/
│   │   └── ikonli-bom.gradle
│   ├── ikonli-core/
│   │   ├── ikonli-core.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               ├── module-info.java
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           ├── AbstractIkonHandler.java
│   │                           ├── AbstractIkonResolver.java
│   │                           ├── DefaultIkonResolver.java
│   │                           ├── FontLoader.java
│   │                           ├── Ikon.java
│   │                           ├── IkonHandler.java
│   │                           ├── IkonProvider.java
│   │                           ├── IkonResolver.java
│   │                           ├── IkonResolverProvider.java
│   │                           ├── Ikonli.java
│   │                           ├── IkonliIkonProvider.java
│   │                           ├── IkonliIkonResolver.java
│   │                           └── OSGiIkonResolver.java
│   ├── ikonli-javafx/
│   │   ├── ikonli-javafx.gradle
│   │   ├── src/
│   │   │   └── main/
│   │   │       └── java/
│   │   │           ├── module-info.java
│   │   │           └── org/
│   │   │               └── kordamp/
│   │   │                   └── ikonli/
│   │   │                       └── javafx/
│   │   │                           ├── FontIcon.java
│   │   │                           ├── FontIconConverter.java
│   │   │                           ├── FontIconTableCell.java
│   │   │                           ├── Icon.java
│   │   │                           ├── JavaFXFontLoader.java
│   │   │                           └── StackedFontIcon.java
│   │   └── tmp/
│   │       ├── FontIconTest.java
│   │       ├── PaintConverter.java
│   │       ├── SVGGlyphRegistry.java
│   │       ├── SVGIcon.java
│   │       ├── SVGIconConverter.java
│   │       └── StackedFontIcon.java
│   └── ikonli-swing/
│       ├── ikonli-swing.gradle
│       └── src/
│           └── main/
│               └── java/
│                   ├── module-info.java
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── swing/
│                                   ├── FontIcon.java
│                                   └── SwingFontLoader.java
├── docs/
│   └── guide/
│       ├── guide.gradle
│       └── src/
│           ├── docs/
│           │   └── asciidoc/
│           │       ├── authoring.adoc
│           │       ├── cheat-sheet-antdesignicons.adoc
│           │       ├── cheat-sheet-bootstrapicons.adoc
│           │       ├── cheat-sheet-boxicons.adoc
│           │       ├── cheat-sheet-bpmn.adoc
│           │       ├── cheat-sheet-bytedance.adoc
│           │       ├── cheat-sheet-captainicon.adoc
│           │       ├── cheat-sheet-carbonicons.adoc
│           │       ├── cheat-sheet-codicons.adoc
│           │       ├── cheat-sheet-coreui.adoc
│           │       ├── cheat-sheet-dashicons.adoc
│           │       ├── cheat-sheet-devicons.adoc
│           │       ├── cheat-sheet-elusive.adoc
│           │       ├── cheat-sheet-entypo.adoc
│           │       ├── cheat-sheet-evaicons.adoc
│           │       ├── cheat-sheet-feather.adoc
│           │       ├── cheat-sheet-fileicons.adoc
│           │       ├── cheat-sheet-fluentui.adoc
│           │       ├── cheat-sheet-fontawesome.adoc
│           │       ├── cheat-sheet-fontawesome5.adoc
│           │       ├── cheat-sheet-fontawesome6.adoc
│           │       ├── cheat-sheet-fontelico.adoc
│           │       ├── cheat-sheet-foundation.adoc
│           │       ├── cheat-sheet-hawcons.adoc
│           │       ├── cheat-sheet-icomoon.adoc
│           │       ├── cheat-sheet-ionicons.adoc
│           │       ├── cheat-sheet-ionicons4.adoc
│           │       ├── cheat-sheet-jamicons.adoc
│           │       ├── cheat-sheet-ligaturesymbols.adoc
│           │       ├── cheat-sheet-lineawesome.adoc
│           │       ├── cheat-sheet-linecons.adoc
│           │       ├── cheat-sheet-maki.adoc
│           │       ├── cheat-sheet-maki2.adoc
│           │       ├── cheat-sheet-mapicons.adoc
│           │       ├── cheat-sheet-material.adoc
│           │       ├── cheat-sheet-material2.adoc
│           │       ├── cheat-sheet-materialdesign.adoc
│           │       ├── cheat-sheet-materialdesign2.adoc
│           │       ├── cheat-sheet-medicons.adoc
│           │       ├── cheat-sheet-metrizeicons.adoc
│           │       ├── cheat-sheet-microns.adoc
│           │       ├── cheat-sheet-ociicons.adoc
│           │       ├── cheat-sheet-octicons.adoc
│           │       ├── cheat-sheet-openiconic.adoc
│           │       ├── cheat-sheet-paymentfont.adoc
│           │       ├── cheat-sheet-prestashopicons.adoc
│           │       ├── cheat-sheet-remixicon.adoc
│           │       ├── cheat-sheet-runestroicons.adoc
│           │       ├── cheat-sheet-simpleicons.adoc
│           │       ├── cheat-sheet-simplelineicons.adoc
│           │       ├── cheat-sheet-subway.adoc
│           │       ├── cheat-sheet-themify.adoc
│           │       ├── cheat-sheet-typicons.adoc
│           │       ├── cheat-sheet-unicons.adoc
│           │       ├── cheat-sheet-weathericons.adoc
│           │       ├── cheat-sheet-websymbols.adoc
│           │       ├── cheat-sheet-whhg.adoc
│           │       ├── cheat-sheet-win10.adoc
│           │       ├── cheat-sheet-zondicons.adoc
│           │       ├── icon-packs.adoc
│           │       ├── index.adoc
│           │       ├── introduction.adoc
│           │       ├── resources/
│           │       │   └── css/
│           │       │       └── style.css
│           │       └── usage.adoc
│           └── javadoc/
│               ├── overview.html
│               └── resources/
│                   └── css/
│                       └── stylesheet.css
├── gradle/
│   ├── LICENSE_HEADER
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── icon-packs/
│   ├── ikonli-antdesignicons-pack/
│   │   ├── ikonli-antdesignicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── antdesignicons/
│   │           │                   ├── AntDesignIconsFilled.java
│   │           │                   ├── AntDesignIconsFilledIkonHandler.java
│   │           │                   ├── AntDesignIconsFilledIkonProvider.java
│   │           │                   ├── AntDesignIconsOutlined.java
│   │           │                   ├── AntDesignIconsOutlinedIkonHandler.java
│   │           │                   └── AntDesignIconsOutlinedIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── antdesignicons/
│   │                           └── 4.0.0/
│   │                               └── css/
│   │                                   ├── antdesignicons-filled.css
│   │                                   └── antdesignicons-outlined.css
│   ├── ikonli-bootstrapicons-pack/
│   │   ├── ikonli-bootstrapicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bootstrapicons/
│   │           │                   ├── BootstrapIcons.java
│   │           │                   ├── BootstrapIconsIkonHandler.java
│   │           │                   └── BootstrapIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bootstrapicons/
│   │                           └── 1.4.1/
│   │                               └── css/
│   │                                   └── bootstrap-icons.css
│   ├── ikonli-boxicons-pack/
│   │   ├── ikonli-boxicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── boxicons/
│   │           │                   ├── BoxiconsLogos.java
│   │           │                   ├── BoxiconsLogosIkonHandler.java
│   │           │                   ├── BoxiconsLogosIkonProvider.java
│   │           │                   ├── BoxiconsRegular.java
│   │           │                   ├── BoxiconsRegularIkonHandler.java
│   │           │                   ├── BoxiconsRegularIkonProvider.java
│   │           │                   ├── BoxiconsSolid.java
│   │           │                   ├── BoxiconsSolidIkonHandler.java
│   │           │                   └── BoxiconsSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── boxicons/
│   │                           └── 2.0.7/
│   │                               └── css/
│   │                                   └── boxicons.css
│   ├── ikonli-bpmn-pack/
│   │   ├── ikonli-bpmn-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bpmn/
│   │           │                   ├── Bpmn.java
│   │           │                   ├── BpmnIkonHandler.java
│   │           │                   └── BpmnIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bpmn/
│   │                           └── 0.10.0/
│   │                               └── css/
│   │                                   └── bpmn.css
│   ├── ikonli-bytedance-pack/
│   │   ├── ikonli-bytedance-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── bytedance/
│   │           │                   ├── BytedanceIconsBoldAL.java
│   │           │                   ├── BytedanceIconsBoldALIkonHandler.java
│   │           │                   ├── BytedanceIconsBoldALIkonProvider.java
│   │           │                   ├── BytedanceIconsBoldMZ.java
│   │           │                   ├── BytedanceIconsBoldMZIkonHandler.java
│   │           │                   ├── BytedanceIconsBoldMZIkonProvider.java
│   │           │                   ├── BytedanceIconsExtraBoldAL.java
│   │           │                   ├── BytedanceIconsExtraBoldALIkonHandler.java
│   │           │                   ├── BytedanceIconsExtraBoldALIkonProvider.java
│   │           │                   ├── BytedanceIconsExtraBoldMZ.java
│   │           │                   ├── BytedanceIconsExtraBoldMZIkonHandler.java
│   │           │                   ├── BytedanceIconsExtraBoldMZIkonProvider.java
│   │           │                   ├── BytedanceIconsRegularAL.java
│   │           │                   ├── BytedanceIconsRegularALIkonHandler.java
│   │           │                   ├── BytedanceIconsRegularALIkonProvider.java
│   │           │                   ├── BytedanceIconsRegularMZ.java
│   │           │                   ├── BytedanceIconsRegularMZIkonHandler.java
│   │           │                   ├── BytedanceIconsRegularMZIkonProvider.java
│   │           │                   ├── BytedanceIconsThinAL.java
│   │           │                   ├── BytedanceIconsThinALIkonHandler.java
│   │           │                   ├── BytedanceIconsThinALIkonProvider.java
│   │           │                   ├── BytedanceIconsThinMZ.java
│   │           │                   ├── BytedanceIconsThinMZIkonHandler.java
│   │           │                   └── BytedanceIconsThinMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── bytedance/
│   │                           └── 1.3.0/
│   │                               └── css/
│   │                                   ├── bytedance-iconpack-bold.css
│   │                                   ├── bytedance-iconpack-extrabold.css
│   │                                   ├── bytedance-iconpack-regular.css
│   │                                   └── bytedance-iconpack-thin.css
│   ├── ikonli-captainicon-pack/
│   │   ├── ikonli-captainicon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── captainicon/
│   │           │                   ├── Captainicon.java
│   │           │                   ├── CaptainiconIkonHandler.java
│   │           │                   └── CaptainiconIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── captainicon/
│   │                           └── 20140501/
│   │                               └── css/
│   │                                   └── captainicon.css
│   ├── ikonli-carbonicons-pack/
│   │   ├── ikonli-carbonicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── carbonicons/
│   │           │                   ├── CarbonIcons.java
│   │           │                   ├── CarbonIconsIkonProvider.java
│   │           │                   └── CarboniconsIkonHandler.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── carbonicons/
│   │                           └── 10.23.2/
│   │                               └── css/
│   │                                   └── carbonicons.css
│   ├── ikonli-codicons-pack/
│   │   ├── ikonli-codicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── codicons/
│   │           │                   ├── Codicons.java
│   │           │                   ├── CodiconsIkonHandler.java
│   │           │                   └── CodiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── codicons/
│   │                           └── 0.0.12/
│   │                               └── css/
│   │                                   └── codicon.css
│   ├── ikonli-coreui-pack/
│   │   ├── ikonli-coreui-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── coreui/
│   │           │                   ├── CoreUiBrands.java
│   │           │                   ├── CoreUiBrandsIkonHandler.java
│   │           │                   ├── CoreUiBrandsIkonProvider.java
│   │           │                   ├── CoreUiFree.java
│   │           │                   ├── CoreUiFreeIkonHandler.java
│   │           │                   └── CoreUiFreeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── coreui/
│   │                           └── 2.0.0-beta.5/
│   │                               └── css/
│   │                                   ├── coreui-brand.css
│   │                                   └── coreui-free.css
│   ├── ikonli-dashicons-pack/
│   │   ├── ikonli-dashicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── dashicons/
│   │           │                   ├── Dashicons.java
│   │           │                   ├── DashiconsIkonHandler.java
│   │           │                   └── DashiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── dashicons/
│   │                           └── 20200504/
│   │                               └── css/
│   │                                   └── dashicons.css
│   ├── ikonli-devicons-pack/
│   │   ├── ikonli-devicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── devicons/
│   │           │                   ├── Devicons.java
│   │           │                   ├── DeviconsIkonHandler.java
│   │           │                   └── DeviconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── devicons/
│   │                           └── 1.8.0/
│   │                               └── css/
│   │                                   └── devicons.css
│   ├── ikonli-elusive-pack/
│   │   ├── ikonli-elusive-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── elusive/
│   │           │                   ├── Elusive.java
│   │           │                   ├── ElusiveIkonHandler.java
│   │           │                   └── ElusiveIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── elusive/
│   │                           └── 2.0/
│   │                               └── css/
│   │                                   └── elusive-webfont.css
│   ├── ikonli-entypo-pack/
│   │   ├── ikonli-entypo-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── entypo/
│   │           │                   ├── Entypo.java
│   │           │                   ├── EntypoIkonHandler.java
│   │           │                   └── EntypoIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── entypo/
│   │                           └── 1.0/
│   │                               └── css/
│   │                                   └── entypo.css
│   ├── ikonli-evaicons-pack/
│   │   ├── ikonli-evaicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── evaicons/
│   │           │                   ├── Evaicons.java
│   │           │                   ├── EvaiconsIkonHandler.java
│   │           │                   └── EvaiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── evaicons/
│   │                           └── 1.1.3/
│   │                               └── css/
│   │                                   └── evaicons.css
│   ├── ikonli-feather-pack/
│   │   ├── ikonli-feather-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── feather/
│   │           │                   ├── Feather.java
│   │           │                   ├── FeatherIkonHandler.java
│   │           │                   └── FeatherIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── feather/
│   │                           └── 4.28/
│   │                               └── css/
│   │                                   └── feather.css
│   ├── ikonli-fileicons-pack/
│   │   ├── ikonli-fileicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fileicons/
│   │           │                   ├── FileIcons.java
│   │           │                   ├── FileIconsIkonHandler.java
│   │           │                   └── FileIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fileicons/
│   │                           └── 2.1.44/
│   │                               └── css/
│   │                                   └── fileicons.css
│   ├── ikonli-fluentui-pack/
│   │   ├── ikonli-fluentui-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fluentui/
│   │           │                   ├── FluentUiFilledAL.java
│   │           │                   ├── FluentUiFilledALIkonHandler.java
│   │           │                   ├── FluentUiFilledALIkonProvider.java
│   │           │                   ├── FluentUiFilledMZ.java
│   │           │                   ├── FluentUiFilledMZIkonHandler.java
│   │           │                   ├── FluentUiFilledMZIkonProvider.java
│   │           │                   ├── FluentUiRegularAL.java
│   │           │                   ├── FluentUiRegularALIkonHandler.java
│   │           │                   ├── FluentUiRegularALIkonProvider.java
│   │           │                   ├── FluentUiRegularMZ.java
│   │           │                   ├── FluentUiRegularMZIkonHandler.java
│   │           │                   └── FluentUiRegularMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fluentui/
│   │                           └── 1.1.74/
│   │                               └── css/
│   │                                   ├── FluentSystemIcons-Filled.css
│   │                                   └── FluentSystemIcons-Regular.css
│   ├── ikonli-fontawesome-pack/
│   │   ├── ikonli-fontawesome-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome/
│   │           │                   ├── FontAwesome.java
│   │           │                   ├── FontAwesomeIkonHandler.java
│   │           │                   └── FontAwesomeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome/
│   │                           └── 4.7.0/
│   │                               ├── css/
│   │                               │   └── font-awesome.css
│   │                               └── fonts/
│   │                                   └── FontAwesome.otf
│   ├── ikonli-fontawesome5-pack/
│   │   ├── ikonli-fontawesome5-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome5/
│   │           │                   ├── FontAwesomeBrands.java
│   │           │                   ├── FontAwesomeBrandsIkonHandler.java
│   │           │                   ├── FontAwesomeBrandsIkonProvider.java
│   │           │                   ├── FontAwesomeRegular.java
│   │           │                   ├── FontAwesomeRegularIkonHandler.java
│   │           │                   ├── FontAwesomeRegularIkonProvider.java
│   │           │                   ├── FontAwesomeSolid.java
│   │           │                   ├── FontAwesomeSolidIkonHandler.java
│   │           │                   └── FontAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome5/
│   │                           └── 5.15.3/
│   │                               └── css/
│   │                                   ├── fa-brands.css
│   │                                   ├── fa-regular.css
│   │                                   ├── fa-solid.css
│   │                                   ├── fontawesome-all.css
│   │                                   └── fontawesome.css
│   ├── ikonli-fontawesome6-pack/
│   │   ├── ikonli-fontawesome6-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontawesome6/
│   │           │                   ├── FontAwesomeBrands.java
│   │           │                   ├── FontAwesomeBrandsIkonHandler.java
│   │           │                   ├── FontAwesomeBrandsIkonProvider.java
│   │           │                   ├── FontAwesomeRegular.java
│   │           │                   ├── FontAwesomeRegularIkonHandler.java
│   │           │                   ├── FontAwesomeRegularIkonProvider.java
│   │           │                   ├── FontAwesomeSolid.java
│   │           │                   ├── FontAwesomeSolidIkonHandler.java
│   │           │                   └── FontAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontawesome6/
│   │                           └── 6.5.2/
│   │                               └── css/
│   │                                   ├── all.css
│   │                                   ├── brands.css
│   │                                   ├── fontawesome.css
│   │                                   ├── regular.css
│   │                                   ├── solid.css
│   │                                   ├── svg-with-js.css
│   │                                   ├── v4-font-face.css
│   │                                   ├── v4-shims.css
│   │                                   └── v5-font-face.css
│   ├── ikonli-fontelico-pack/
│   │   ├── ikonli-fontelico-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── fontelico/
│   │           │                   ├── Fontelico.java
│   │           │                   ├── FontelicoIkonHandler.java
│   │           │                   └── FontelicoIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── fontelico/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── fontelico.css
│   ├── ikonli-foundation-pack/
│   │   ├── ikonli-foundation-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── foundation/
│   │           │                   ├── Foundation.java
│   │           │                   ├── FoundationIkonHandler.java
│   │           │                   └── FoundationIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── foundation/
│   │                           └── 3.0/
│   │                               └── css/
│   │                                   └── foundation-icons.css
│   ├── ikonli-hawcons-pack/
│   │   ├── ikonli-hawcons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── hawcons/
│   │           │                   ├── HawconsFilled.java
│   │           │                   ├── HawconsFilledIkonHandler.java
│   │           │                   ├── HawconsFilledIkonProvider.java
│   │           │                   ├── HawconsStroke.java
│   │           │                   ├── HawconsStrokeIkonHandler.java
│   │           │                   └── HawconsStrokeIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── hawcons/
│   │                           └── 20140708/
│   │                               └── css/
│   │                                   ├── hawconsfilled.css
│   │                                   └── hawconsstroke.css
│   ├── ikonli-icomoon-pack/
│   │   ├── ikonli-icomoon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── icomoon/
│   │           │                   ├── Icomoon.java
│   │           │                   ├── IcomoonIkonHandler.java
│   │           │                   └── IcomoonIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── icomoon/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── icomoon.css
│   ├── ikonli-ionicons-pack/
│   │   ├── ikonli-ionicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ionicons/
│   │           │                   ├── Ionicons.java
│   │           │                   ├── IoniconsIkonHandler.java
│   │           │                   └── IoniconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ionicons/
│   │                           └── 2.0.1/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── ionicons.css
│   ├── ikonli-ionicons4-pack/
│   │   ├── ikonli-ionicons4-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ionicons4/
│   │           │                   ├── Ionicons4IOS.java
│   │           │                   ├── Ionicons4IOSIkonHandler.java
│   │           │                   ├── Ionicons4IOSIkonProvider.java
│   │           │                   ├── Ionicons4Logo.java
│   │           │                   ├── Ionicons4LogoIkonHandler.java
│   │           │                   ├── Ionicons4LogoIkonProvider.java
│   │           │                   ├── Ionicons4Material.java
│   │           │                   ├── Ionicons4MaterialIkonHandler.java
│   │           │                   └── Ionicons4MaterialIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ionicons4/
│   │                           └── 4.1.2/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── ionicons4.css
│   ├── ikonli-jamicons-pack/
│   │   ├── ikonli-jamicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── jam/
│   │           │                   ├── Jam.java
│   │           │                   ├── JamIkonHandler.java
│   │           │                   └── JamIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── jam/
│   │                           └── 3.0.0/
│   │                               └── css/
│   │                                   └── jam.css
│   ├── ikonli-ligaturesymbols-pack/
│   │   ├── ikonli-ligaturesymbols-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ligaturesymbols/
│   │           │                   ├── LigatureSymbols.java
│   │           │                   ├── LigatureSymbolsIkonHandler.java
│   │           │                   └── LigatureSymbolsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ligaturesymbols/
│   │                           └── 2.11/
│   │                               ├── css/
│   │                               │   └── ligaturesymbols.css
│   │                               └── fonts/
│   │                                   └── LigatureSymbols-2.11.otf
│   ├── ikonli-lineawesome-pack/
│   │   ├── ikonli-lineawesome-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── lineawesome/
│   │           │                   ├── LineAwesomeBrands.java
│   │           │                   ├── LineAwesomeBrandsIkonHandler.java
│   │           │                   ├── LineAwesomeBrandsIkonProvider.java
│   │           │                   ├── LineAwesomeRegular.java
│   │           │                   ├── LineAwesomeRegularIkonHandler.java
│   │           │                   ├── LineAwesomeRegularIkonProvider.java
│   │           │                   ├── LineAwesomeSolid.java
│   │           │                   ├── LineAwesomeSolidIkonHandler.java
│   │           │                   └── LineAwesomeSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── lineawesome/
│   │                           └── 1.3.0/
│   │                               └── css/
│   │                                   ├── la-brands.css
│   │                                   ├── la-regular.css
│   │                                   ├── la-solid.css
│   │                                   └── lineawesome-all.css
│   ├── ikonli-linecons-pack/
│   │   ├── ikonli-linecons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── linecons/
│   │           │                   ├── Linecons.java
│   │           │                   ├── LineconsIkonHandler.java
│   │           │                   └── LineconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── linecons/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── linecons.css
│   ├── ikonli-maki-pack/
│   │   ├── ikonli-maki-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── maki/
│   │           │                   ├── Maki.java
│   │           │                   ├── MakiIkonHandler.java
│   │           │                   └── MakiIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── maki/
│   │                           └── 0.5.0/
│   │                               └── css/
│   │                                   └── maki.css
│   ├── ikonli-maki2-pack/
│   │   ├── ikonli-maki2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── maki2/
│   │           │                   ├── Maki2.java
│   │           │                   ├── Maki2IkonHandler.java
│   │           │                   └── Maki2IkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── maki2/
│   │                           └── 6.2.0/
│   │                               └── css/
│   │                                   └── maki2.css
│   ├── ikonli-mapicons-pack/
│   │   ├── ikonli-mapicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── mapicons/
│   │           │                   ├── Mapicons.java
│   │           │                   ├── MapiconsIkonHandler.java
│   │           │                   └── MapiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── mapicons/
│   │                           └── 3.0.0/
│   │                               └── css/
│   │                                   └── map-icons.css
│   ├── ikonli-material-pack/
│   │   ├── ikonli-material-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── material/
│   │           │                   ├── Material.java
│   │           │                   ├── MaterialIkonHandler.java
│   │           │                   └── MaterialIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── material/
│   │                           └── 50/
│   │                               └── css/
│   │                                   └── material-icons.css
│   ├── ikonli-material2-pack/
│   │   ├── ikonli-material2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── material2/
│   │           │                   ├── Material2AL.java
│   │           │                   ├── Material2ALIkonHandler.java
│   │           │                   ├── Material2ALIkonProvider.java
│   │           │                   ├── Material2MZ.java
│   │           │                   ├── Material2MZIkonHandler.java
│   │           │                   ├── Material2MZIkonProvider.java
│   │           │                   ├── Material2OutlinedAL.java
│   │           │                   ├── Material2OutlinedALIkonHandler.java
│   │           │                   ├── Material2OutlinedALIkonProvider.java
│   │           │                   ├── Material2OutlinedMZ.java
│   │           │                   ├── Material2OutlinedMZIkonHandler.java
│   │           │                   ├── Material2OutlinedMZIkonProvider.java
│   │           │                   ├── Material2RoundAL.java
│   │           │                   ├── Material2RoundALIkonHandler.java
│   │           │                   ├── Material2RoundALIkonProvider.java
│   │           │                   ├── Material2RoundMZ.java
│   │           │                   ├── Material2RoundMZIkonHandler.java
│   │           │                   ├── Material2RoundMZIkonProvider.java
│   │           │                   ├── Material2SharpAL.java
│   │           │                   ├── Material2SharpALIkonHandler.java
│   │           │                   ├── Material2SharpALIkonProvider.java
│   │           │                   ├── Material2SharpMZ.java
│   │           │                   ├── Material2SharpMZIkonHandler.java
│   │           │                   └── Material2SharpMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── material2/
│   │                           └── 20200820/
│   │                               └── css/
│   │                                   ├── md-baseline.css
│   │                                   ├── md-outlined.css
│   │                                   ├── md-round.css
│   │                                   └── md-sharp.css
│   ├── ikonli-materialdesign-pack/
│   │   ├── ikonli-materialdesign-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── materialdesign/
│   │           │                   ├── MaterialDesign.java
│   │           │                   ├── MaterialDesignIkonHandler.java
│   │           │                   └── MaterialDesignIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── materialdesign/
│   │                           └── 1.7.22/
│   │                               └── css/
│   │                                   └── materialdesignicons.css
│   ├── ikonli-materialdesign2-pack/
│   │   ├── ikonli-materialdesign2-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── materialdesign2/
│   │           │                   ├── AbstractMaterialDesignIkonHandler.java
│   │           │                   ├── MaterialDesignA.java
│   │           │                   ├── MaterialDesignAIkonHandler.java
│   │           │                   ├── MaterialDesignAIkonProvider.java
│   │           │                   ├── MaterialDesignB.java
│   │           │                   ├── MaterialDesignBIkonHandler.java
│   │           │                   ├── MaterialDesignBIkonProvider.java
│   │           │                   ├── MaterialDesignC.java
│   │           │                   ├── MaterialDesignCIkonHandler.java
│   │           │                   ├── MaterialDesignCIkonProvider.java
│   │           │                   ├── MaterialDesignD.java
│   │           │                   ├── MaterialDesignDIkonHandler.java
│   │           │                   ├── MaterialDesignDIkonProvider.java
│   │           │                   ├── MaterialDesignE.java
│   │           │                   ├── MaterialDesignEIkonHandler.java
│   │           │                   ├── MaterialDesignEIkonProvider.java
│   │           │                   ├── MaterialDesignF.java
│   │           │                   ├── MaterialDesignFIkonHandler.java
│   │           │                   ├── MaterialDesignFIkonProvider.java
│   │           │                   ├── MaterialDesignG.java
│   │           │                   ├── MaterialDesignGIkonHandler.java
│   │           │                   ├── MaterialDesignGIkonProvider.java
│   │           │                   ├── MaterialDesignH.java
│   │           │                   ├── MaterialDesignHIkonHandler.java
│   │           │                   ├── MaterialDesignHIkonProvider.java
│   │           │                   ├── MaterialDesignI.java
│   │           │                   ├── MaterialDesignIIkonHandler.java
│   │           │                   ├── MaterialDesignIIkonProvider.java
│   │           │                   ├── MaterialDesignJ.java
│   │           │                   ├── MaterialDesignJIkonHandler.java
│   │           │                   ├── MaterialDesignJIkonProvider.java
│   │           │                   ├── MaterialDesignK.java
│   │           │                   ├── MaterialDesignKIkonHandler.java
│   │           │                   ├── MaterialDesignKIkonProvider.java
│   │           │                   ├── MaterialDesignL.java
│   │           │                   ├── MaterialDesignLIkonHandler.java
│   │           │                   ├── MaterialDesignLIkonProvider.java
│   │           │                   ├── MaterialDesignM.java
│   │           │                   ├── MaterialDesignMIkonHandler.java
│   │           │                   ├── MaterialDesignMIkonProvider.java
│   │           │                   ├── MaterialDesignN.java
│   │           │                   ├── MaterialDesignNIkonHandler.java
│   │           │                   ├── MaterialDesignNIkonProvider.java
│   │           │                   ├── MaterialDesignO.java
│   │           │                   ├── MaterialDesignOIkonHandler.java
│   │           │                   ├── MaterialDesignOIkonProvider.java
│   │           │                   ├── MaterialDesignP.java
│   │           │                   ├── MaterialDesignPIkonHandler.java
│   │           │                   ├── MaterialDesignPIkonProvider.java
│   │           │                   ├── MaterialDesignQ.java
│   │           │                   ├── MaterialDesignQIkonHandler.java
│   │           │                   ├── MaterialDesignQIkonProvider.java
│   │           │                   ├── MaterialDesignR.java
│   │           │                   ├── MaterialDesignRIkonHandler.java
│   │           │                   ├── MaterialDesignRIkonProvider.java
│   │           │                   ├── MaterialDesignS.java
│   │           │                   ├── MaterialDesignSIkonHandler.java
│   │           │                   ├── MaterialDesignSIkonProvider.java
│   │           │                   ├── MaterialDesignT.java
│   │           │                   ├── MaterialDesignTIkonHandler.java
│   │           │                   ├── MaterialDesignTIkonProvider.java
│   │           │                   ├── MaterialDesignU.java
│   │           │                   ├── MaterialDesignUIkonHandler.java
│   │           │                   ├── MaterialDesignUIkonProvider.java
│   │           │                   ├── MaterialDesignV.java
│   │           │                   ├── MaterialDesignVIkonHandler.java
│   │           │                   ├── MaterialDesignVIkonProvider.java
│   │           │                   ├── MaterialDesignW.java
│   │           │                   ├── MaterialDesignWIkonHandler.java
│   │           │                   ├── MaterialDesignWIkonProvider.java
│   │           │                   ├── MaterialDesignX.java
│   │           │                   ├── MaterialDesignXIkonHandler.java
│   │           │                   ├── MaterialDesignXIkonProvider.java
│   │           │                   ├── MaterialDesignY.java
│   │           │                   ├── MaterialDesignYIkonHandler.java
│   │           │                   ├── MaterialDesignYIkonProvider.java
│   │           │                   ├── MaterialDesignZ.java
│   │           │                   ├── MaterialDesignZIkonHandler.java
│   │           │                   └── MaterialDesignZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── materialdesign2/
│   │                           └── 7.4.47/
│   │                               └── css/
│   │                                   └── materialdesignicons2.css
│   ├── ikonli-medicons-pack/
│   │   ├── ikonli-medicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── medicons/
│   │           │                   ├── Medicons.java
│   │           │                   ├── MediconsIkonHandler.java
│   │           │                   └── MediconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── medicons/
│   │                           └── 20170612/
│   │                               └── css/
│   │                                   └── medicons.css
│   ├── ikonli-metrizeicons-pack/
│   │   ├── ikonli-metrizeicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── metrizeicons/
│   │           │                   ├── MetrizeIcons.java
│   │           │                   ├── MetrizeIconsIkonHandler.java
│   │           │                   └── MetrizeIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── metrizeicons/
│   │                           └── 0.0/
│   │                               └── css/
│   │                                   └── metrizeicons.css
│   ├── ikonli-microns-pack/
│   │   ├── ikonli-microns-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── microns/
│   │           │                   ├── Microns.java
│   │           │                   ├── MicronsIkonHandler.java
│   │           │                   └── MicronsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── microns/
│   │                           └── 1.0.8/
│   │                               └── css/
│   │                                   └── microns.css
│   ├── ikonli-ociicons-pack/
│   │   ├── ikonli-ociicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── ociicons/
│   │           │                   ├── Ociicons.java
│   │           │                   ├── OciiconsIkonHandler.java
│   │           │                   └── OciiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── ociicons/
│   │                           └── 1.0/
│   │                               └── css/
│   │                                   └── ociicons.css
│   ├── ikonli-octicons-pack/
│   │   ├── ikonli-octicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── octicons/
│   │           │                   ├── Octicons.java
│   │           │                   ├── OcticonsIkonHandler.java
│   │           │                   └── OcticonsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── octicons/
│   │                           └── 14.2.2/
│   │                               ├── LICENSE.txt
│   │                               └── css/
│   │                                   └── octicons.css
│   ├── ikonli-openiconic-pack/
│   │   ├── ikonli-openiconic-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── openiconic/
│   │           │                   ├── Openiconic.java
│   │           │                   ├── OpeniconicIkonHandler.java
│   │           │                   └── OpeniconicIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── openiconic/
│   │                           └── 1.1.0/
│   │                               ├── css/
│   │                               │   └── open-iconic.css
│   │                               └── fonts/
│   │                                   └── open-iconic.otf
│   ├── ikonli-paymentfont-pack/
│   │   ├── ikonli-paymentfont-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── paymentfont/
│   │           │                   ├── PaymentFont.java
│   │           │                   ├── PaymentFontIkonHandler.java
│   │           │                   └── PaymentFontIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── paymentfont/
│   │                           └── 1.2.5/
│   │                               └── css/
│   │                                   └── paymentfont.css
│   ├── ikonli-prestashopicons-pack/
│   │   ├── ikonli-prestashopicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── prestashopicons/
│   │           │                   ├── PrestaShopIcons.java
│   │           │                   ├── PrestaShopIconsIkonHandler.java
│   │           │                   └── PrestaShopIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── prestashopicons/
│   │                           └── 0.8.0/
│   │                               └── css/
│   │                                   └── prestashopicons.css
│   ├── ikonli-remixicon-pack/
│   │   ├── ikonli-remixicon-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── remixicon/
│   │           │                   ├── RemixiconAL.java
│   │           │                   ├── RemixiconALIkonHandler.java
│   │           │                   ├── RemixiconALIkonProvider.java
│   │           │                   ├── RemixiconMZ.java
│   │           │                   ├── RemixiconMZIkonHandler.java
│   │           │                   └── RemixiconMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── remixicon/
│   │                           └── 2.5.0/
│   │                               └── css/
│   │                                   └── remixicon.css
│   ├── ikonli-runestroicons-pack/
│   │   ├── ikonli-runestroicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── runestroicons/
│   │           │                   ├── Runestroicons.java
│   │           │                   ├── RunestroiconsIkonHandler.java
│   │           │                   └── RunestroiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── runestroicons/
│   │                           └── 5.6/
│   │                               └── css/
│   │                                   └── runestroicons.css
│   ├── ikonli-simpleicons-pack/
│   │   ├── ikonli-simpleicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── simpleicons/
│   │           │                   ├── SimpleIcons.java
│   │           │                   ├── SimpleIconsIkonHandler.java
│   │           │                   └── SimpleIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── simpleicons/
│   │                           └── 3.12.2/
│   │                               └── css/
│   │                                   └── simpleicons.css
│   ├── ikonli-simplelineicons-pack/
│   │   ├── ikonli-simplelineicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── simplelineicons/
│   │           │                   ├── SimpleLineIcons.java
│   │           │                   ├── SimpleLineIconsIkonHandler.java
│   │           │                   └── SimpleLineIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── simplelineicons/
│   │                           └── 2.5.4/
│   │                               └── css/
│   │                                   └── simple-line-icons.css
│   ├── ikonli-subway-pack/
│   │   ├── ikonli-subway-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── subway/
│   │           │                   ├── Subway.java
│   │           │                   ├── SubwayIkonHandler.java
│   │           │                   └── SubwayIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── subway/
│   │                           └── 20201108/
│   │                               └── css/
│   │                                   └── subway.css
│   ├── ikonli-themify-pack/
│   │   ├── ikonli-themify-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── themify/
│   │           │                   ├── Themify.java
│   │           │                   ├── ThemifyIkonHandler.java
│   │           │                   └── ThemifyIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── themify/
│   │                           └── 1.0.1/
│   │                               ├── LICENSE
│   │                               └── css/
│   │                                   └── themify-icons.css
│   ├── ikonli-typicons-pack/
│   │   ├── ikonli-typicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── typicons/
│   │           │                   ├── Typicons.java
│   │           │                   ├── TypiconsIkonHandler.java
│   │           │                   └── TypiconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── typicons/
│   │                           └── 2.0.7/
│   │                               ├── LICENCE.md
│   │                               └── css/
│   │                                   └── typicons.css
│   ├── ikonli-unicons-pack/
│   │   ├── ikonli-unicons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── unicons/
│   │           │                   ├── UniconsLine.java
│   │           │                   ├── UniconsLineIkonHandler.java
│   │           │                   ├── UniconsLineIkonProvider.java
│   │           │                   ├── UniconsMonochrome.java
│   │           │                   ├── UniconsMonochromeIkonHandler.java
│   │           │                   ├── UniconsMonochromeIkonProvider.java
│   │           │                   ├── UniconsSolid.java
│   │           │                   ├── UniconsSolidIkonHandler.java
│   │           │                   └── UniconsSolidIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── unicons/
│   │                           └── 20201106/
│   │                               └── css/
│   │                                   ├── unicons-line.css
│   │                                   ├── unicons-monochrome.css
│   │                                   └── unicons-solid.css
│   ├── ikonli-weathericons-pack/
│   │   ├── ikonli-weathericons-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── weathericons/
│   │           │                   ├── WeatherIcons.java
│   │           │                   ├── WeatherIconsIkonHandler.java
│   │           │                   └── WeatherIconsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── weathericons/
│   │                           └── 2.0.10/
│   │                               └── css/
│   │                                   └── weather-icons.css
│   ├── ikonli-websymbols-pack/
│   │   ├── ikonli-websymbols-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── websymbols/
│   │           │                   ├── Websymbols.java
│   │           │                   ├── WebsymbolsIkonHandler.java
│   │           │                   └── WebsymbolsIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── websymbols/
│   │                           └── 0.0/
│   │                               ├── css/
│   │                               │   └── websymbols.css
│   │                               └── fonts/
│   │                                   └── foo.html
│   ├── ikonli-whhg-pack/
│   │   ├── ikonli-whhg-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── whhg/
│   │           │                   ├── WhhgAL.java
│   │           │                   ├── WhhgALIkonHandler.java
│   │           │                   ├── WhhgALIkonProvider.java
│   │           │                   ├── WhhgMZ.java
│   │           │                   ├── WhhgMZIkonHandler.java
│   │           │                   └── WhhgMZIkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── whhg/
│   │                           └── 20201105/
│   │                               └── css/
│   │                                   └── whhg.css
│   ├── ikonli-win10-pack/
│   │   ├── ikonli-win10-pack.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   ├── module-info.java
│   │           │   └── org/
│   │           │       └── kordamp/
│   │           │           └── ikonli/
│   │           │               └── win10/
│   │           │                   ├── Win10.java
│   │           │                   ├── Win10IkonHandler.java
│   │           │                   └── Win10IkonProvider.java
│   │           └── resources/
│   │               └── META-INF/
│   │                   └── resources/
│   │                       └── win10/
│   │                           └── 1.0.1/
│   │                               └── css/
│   │                                   └── icons8-win10.css
│   └── ikonli-zondicons-pack/
│       ├── ikonli-zondicons-pack.gradle
│       └── src/
│           └── main/
│               ├── java/
│               │   ├── module-info.java
│               │   └── org/
│               │       └── kordamp/
│               │           └── ikonli/
│               │               └── zondicons/
│               │                   ├── Zondicons.java
│               │                   ├── ZondiconsIkonHandler.java
│               │                   └── ZondiconsIkonProvider.java
│               └── resources/
│                   └── META-INF/
│                       └── resources/
│                           └── zondicons/
│                               └── 20170712/
│                                   └── css/
│                                       └── zondicons.css
├── infra/
│   ├── ikonli-nativeimage-annotations/
│   │   ├── gradle.properties
│   │   ├── ikonli-nativeimage-annotations.gradle
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               ├── module-info.java
│   │               └── org/
│   │                   └── kordamp/
│   │                       └── ikonli/
│   │                           └── infra/
│   │                               └── nativeimage/
│   │                                   └── annotations/
│   │                                       ├── NativeImage.java
│   │                                       ├── ProxyConfig.java
│   │                                       └── ReflectConfig.java
│   └── ikonli-nativeimage-processor/
│       ├── gradle.properties
│       ├── ikonli-nativeimage-processor.gradle
│       └── src/
│           └── main/
│               └── java/
│                   └── org/
│                       └── kordamp/
│                           └── ikonli/
│                               └── infra/
│                                   └── nativeimage/
│                                       └── processor/
│                                           ├── AbstractCompositeGeneratorProcessor.java
│                                           ├── AbstractGenerator.java
│                                           ├── AbstractNativeImageProcessor.java
│                                           ├── Constants.java
│                                           ├── Context.java
│                                           ├── Generator.java
│                                           ├── ProcessorUtil.java
│                                           ├── ProxyConfigGenerator.java
│                                           ├── ProxyConfigProcessor.java
│                                           ├── ReflectConfigGenerator.java
│                                           └── ReflectConfigProcessor.java
├── jreleaser.yml
└── settings.gradle
Download .txt
SYMBOL INDEX (1847 symbols across 401 files)

FILE: apps/ikonli-browser/src/main/java/eu/hansolo/tilesfx/tools/FlowGridPane.java
  class FlowGridPane (line 37) | public class FlowGridPane extends GridPane {
    method FlowGridPane (line 46) | public FlowGridPane(final @NamedArg("NO_OF_COLS")int NO_OF_COLS, final...
    method FlowGridPane (line 94) | public FlowGridPane(final @NamedArg("NO_OF_COLS")int NO_OF_COLS, final...
    method registerListeners (line 144) | private void registerListeners() {
    method getNoOfCols (line 151) | public Integer getNoOfCols() { return noOfCols.get(); }
    method setNoOfCols (line 152) | public void setNoOfCols(final Integer COLS) { noOfCols.set(COLS); }
    method noOfColsProperty (line 153) | public IntegerProperty noOfColsProperty() { return noOfCols; }
    method getNoOfRows (line 155) | public Integer getNoOfRows() { return noOfRows.get(); }
    method setNoOfRows (line 156) | public void setNoOfRows(final Integer ROWS) { noOfRows.set(ROWS); }
    method noOfRowsProperty (line 157) | public IntegerProperty noOfRowsProperty() { return noOfRows; }
    method setNoOfColsAndNoOfRows (line 159) | public void setNoOfColsAndNoOfRows(final int COLS, final int ROWS) {
    method coordsToOffset (line 164) | private int coordsToOffset(final int COL, final int ROW) { return ROW ...
    method offsetToCol (line 165) | private int offsetToCol(final int OFFSET) { return OFFSET % noOfCols.g...
    method offsetToRow (line 166) | private int offsetToRow(final int OFFSET) { return OFFSET / noOfCols.g...
    method checkAspectRatio (line 168) | private void checkAspectRatio() {
    method relayout (line 179) | private void relayout() {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/AboutDialog.java
  class AboutDialog (line 27) | public class AboutDialog {
    method show (line 28) | public static void show() {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonBrowser.java
  class IkonBrowser (line 42) | public class IkonBrowser extends Application {
    method start (line 45) | @Override
    method stop (line 74) | @Override
    method createMenuBar (line 80) | private MenuBar createMenuBar() {
    method createActionsMenu (line 91) | private Menu createActionsMenu() {
    method createWindowsMenu (line 105) | private Menu createWindowsMenu() {
    method createHelpMenu (line 157) | private Menu createHelpMenu() {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonInternalWindow.java
  class IkonInternalWindow (line 52) | public class IkonInternalWindow extends InternalWindow {
    method IkonInternalWindow (line 53) | public IkonInternalWindow(String mdiWindowID, Node icon, String title,...
    method show (line 57) | public static void show(IkonProvider ikonProvider, DesktopPane desktop...
    method createInternalWindow (line 65) | private static IkonInternalWindow createInternalWindow(IkonProvider ik...
    method createIkonGrid (line 77) | private static Node createIkonGrid(EnumSet<? extends Ikon> enumSet) {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonPickerDialog.java
  class IkonPickerDialog (line 46) | public class IkonPickerDialog extends Dialog<IkonProvider> {
    method IkonPickerDialog (line 50) | private IkonPickerDialog() {
    method resolveIkonData (line 111) | private Set<IkonData> resolveIkonData() {
    method getSelectedItem (line 126) | private IkonProvider getSelectedItem(ListView<IkonData> listView) {
    method createContentLabel (line 131) | private Label createContentLabel(String text) {
    method show (line 141) | public static void show(DesktopPane desktopPane) {
    class IkonData (line 147) | private static class IkonData implements Comparable<IkonData> {
      method toString (line 151) | @Override
      method compareTo (line 156) | @Override
      method of (line 161) | static IkonData of(IkonProvider ikonProvider) {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Launcher.java
  class Launcher (line 25) | public class Launcher {
    method main (line 26) | public static void main(String[] args) {
    method printVersion (line 31) | private static boolean printVersion(String[] args) {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/SearchInternalWindow.java
  class SearchInternalWindow (line 70) | public class SearchInternalWindow extends InternalWindow {
    method SearchInternalWindow (line 76) | public SearchInternalWindow(Node icon, MigPane migPane) {
    method closeWindow (line 210) | @Override
    method searchIcons (line 216) | private void searchIcons() {
    method show (line 221) | public static void show(DesktopPane desktopPane) {
    method createInternalWindow (line 227) | private static SearchInternalWindow createInternalWindow() {
    method createJavaFXThreadProxyList (line 240) | private static <E> ObservableList<E> createJavaFXThreadProxyList(Obser...
    type State (line 245) | public enum State {
    class Model (line 251) | private static class Model {
      method Model (line 258) | public Model() {
      method getIkons (line 266) | public ObservableList<Ikon> getIkons() {
      method getTask (line 270) | public Task<Void> getTask() {
      method setTask (line 274) | public void setTask(Task<Void> task) {
      method termProperty (line 278) | public StringProperty termProperty() {
      method getTerm (line 285) | public String getTerm() {
      method setTerm (line 289) | public void setTerm(String term) {
      method selectionProperty (line 293) | public StringProperty selectionProperty() {
      method getSelection (line 300) | public String getSelection() {
      method setSelection (line 304) | public void setSelection(String selection) {
      method getState (line 308) | public State getState() {
      method setState (line 312) | public void setState(State state) {
      method stateProperty (line 316) | public ObjectProperty<State> stateProperty() {
    class Controller (line 324) | private static class Controller {
      method Controller (line 329) | public Controller(Model model) {
      method search (line 333) | public void search() {
      method createTask (line 349) | private Task<Void> createTask() {
      method cancel (line 364) | public void cancel() {
      method shutdown (line 372) | public void shutdown() {
      method loadIcons (line 377) | private void loadIcons() {
      method add (line 389) | private void add(EnumSet<? extends Ikon> set, List<Ikon> ikons) {
      method noop (line 393) | private static void noop(Ikon ikon) {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Versions.java
  class Versions (line 25) | public class Versions {

FILE: apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/internal/JavaFXThreadProxyObservableList.java
  class JavaFXThreadProxyObservableList (line 28) | public class JavaFXThreadProxyObservableList<E> extends TransformationLi...
    method JavaFXThreadProxyObservableList (line 29) | public JavaFXThreadProxyObservableList(ObservableList<E> source) {
    method sourceChanged (line 33) | @Override
    method getSourceIndex (line 42) | @Override
    method get (line 47) | @Override
    method size (line 52) | @Override
    method getViewIndex (line 57) | @Override

FILE: apps/sampler-javafx/src/main/java/org/kordamp/ikonli/sampler/javafx/Sampler.java
  class Sampler (line 44) | public class Sampler extends Application {
    method start (line 45) | @Override
    method main (line 70) | public static void main(String[] args) {
    class DemoTab (line 74) | private static class DemoTab extends Tab {
      method DemoTab (line 75) | private DemoTab(Class<? extends Ikon> iconFontClass, EnumSet<? exten...

FILE: apps/sampler-swing/src/main/java/org/kordamp/ikonli/sampler/swing/Sampler.java
  class Sampler (line 43) | public class Sampler {
    method main (line 44) | public static void main(String[] args) {
    method launch (line 48) | private static void launch() {
    method createTab (line 67) | private static void createTab(JTabbedPane tabPane, Class<? extends Iko...
    class DemoTab (line 71) | private static class DemoTab extends JScrollPane {
      method DemoTab (line 72) | private DemoTab(EnumSet<? extends Ikon> enumSet) {

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonHandler.java
  class AbstractIkonHandler (line 23) | public abstract class AbstractIkonHandler implements IkonHandler {
    method getFont (line 26) | public Object getFont() {
    method setFont (line 30) | public void setFont(Object font) {

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonResolver.java
  class AbstractIkonResolver (line 31) | public class AbstractIkonResolver implements IkonResolver {
    method registerHandler (line 38) | @Override
    method unregisterHandler (line 48) | @Override
    method resolve (line 58) | @Override
    method findHandler (line 65) | protected java.util.Optional<IkonHandler> findHandler(String value) {
    method isHandlerLoadedViaClasspath (line 72) | private boolean isHandlerLoadedViaClasspath(IkonHandler handler) {
    method throwOrWarn (line 77) | private void throwOrWarn(String message) {
    method resolveServiceLoader (line 84) | public static ServiceLoader<IkonHandler> resolveServiceLoader() {

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/DefaultIkonResolver.java
  class DefaultIkonResolver (line 20) | public class DefaultIkonResolver extends AbstractIkonResolver implements...
    method DefaultIkonResolver (line 24) | protected DefaultIkonResolver(FontLoader fontLoader) {
    method registerHandler (line 32) | @Override
    method getInstance (line 41) | public static IkonResolver getInstance(FontLoader fontLoader) {

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/FontLoader.java
  type FontLoader (line 20) | public interface FontLoader {
    method loadFont (line 22) | void loadFont(IkonHandler handler);

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikon.java
  type Ikon (line 23) | public interface Ikon {
    method getDescription (line 24) | String getDescription();
    method getCode (line 26) | int getCode();

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonHandler.java
  type IkonHandler (line 26) | public interface IkonHandler {
    method supports (line 27) | boolean supports(String description);
    method resolve (line 29) | Ikon resolve(String description);
    method getFontResource (line 31) | URL getFontResource();
    method getFontResourceAsStream (line 33) | InputStream getFontResourceAsStream();
    method getFontFamily (line 35) | String getFontFamily();
    method getFont (line 37) | Object getFont();
    method setFont (line 39) | void setFont(Object font);

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonProvider.java
  type IkonProvider (line 23) | public interface IkonProvider<IKON extends Ikon> {
    method getIkon (line 24) | Class<IKON> getIkon();

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolver.java
  type IkonResolver (line 20) | public interface IkonResolver {
    method resolve (line 22) | IkonHandler resolve(String value);
    method registerHandler (line 24) | boolean registerHandler(IkonHandler handler);
    method unregisterHandler (line 26) | boolean unregisterHandler(IkonHandler handler);

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolverProvider.java
  class IkonResolverProvider (line 25) | public class IkonResolverProvider {
    method IkonResolverProvider (line 28) | private IkonResolverProvider() {
    method getInstance (line 31) | public static IkonResolver getInstance(FontLoader fontLoader) {
    method createIkonResolver (line 44) | private static IkonResolver createIkonResolver(FontLoader fontLoader) {
    method tryGetOSGiResolver (line 48) | private static java.util.Optional<IkonResolver> tryGetOSGiResolver() {
    method isOSGiAvailable (line 77) | private static boolean isOSGiAvailable() {

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikonli.java
  type Ikonli (line 23) | public enum Ikonli implements Ikon {
    method findByDescription (line 26) | public static Ikonli findByDescription(String description) {
    method Ikonli (line 38) | Ikonli(String description, int code) {
    method getDescription (line 43) | @Override
    method getCode (line 48) | @Override

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonProvider.java
  class IkonliIkonProvider (line 23) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 27) | @Override

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonResolver.java
  class IkonliIkonResolver (line 29) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 34) | @Override
    method resolve (line 39) | @Override
    method getFontResource (line 44) | @Override
    method getFontResourceAsStream (line 49) | @Override
    method getFontFamily (line 54) | @Override

FILE: core/ikonli-core/src/main/java/org/kordamp/ikonli/OSGiIkonResolver.java
  class OSGiIkonResolver (line 25) | @Component(service = IkonResolver.class)
    method OSGiIkonResolver (line 29) | public OSGiIkonResolver() {
    method setFontLoader (line 32) | @Reference
    method bindIkonHandler (line 37) | @Reference(
    method unbindIkonHandler (line 48) | protected void unbindIkonHandler(IkonHandler handler) {

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIcon.java
  class FontIcon (line 52) | @org.kordamp.ikonli.infra.nativeimage.annotations.NativeImage
    method FontIcon (line 60) | public FontIcon() {
    method FontIcon (line 97) | public FontIcon(String iconCode) {
    method FontIcon (line 102) | public FontIcon(Ikon iconCode) {
    method unitsProperty (line 107) | public StringProperty unitsProperty() {
    method toString (line 111) | @Override
    method iconSizeProperty (line 117) | @Override
    method resolveUnits (line 152) | private String resolveUnits() {
    method iconColorProperty (line 157) | @Override
    method iconCodeProperty (line 186) | public ObjectProperty<Ikon> iconCodeProperty() {
    method getIconSize (line 219) | @Override
    method setIconSize (line 224) | @Override
    method getIconColor (line 232) | @Override
    method setIconColor (line 237) | @Override
    method getIconCode (line 242) | public Ikon getIconCode() {
    method setIconCode (line 246) | public void setIconCode(Ikon iconCode) {
    method normalizeStyle (line 250) | private String normalizeStyle(String style, String key, String value) {
    method getIconLiteral (line 260) | public String getIconLiteral() {
    method setIconLiteral (line 265) | public void setIconLiteral(String iconCode) {
    method getCssMetaData (line 272) | @Override
    method resolveSize (line 277) | private void resolveSize(String iconCode, String[] parts) {
    method resolvePaint (line 287) | private void resolvePaint(String iconCode, String[] parts) {
    method of (line 296) | public static FontIcon of(Ikon ikon) {
    method of (line 300) | public static FontIcon of(Ikon ikon, int iconSize) {
    method of (line 304) | public static FontIcon of(Ikon ikon, Color iconColor) {
    method of (line 308) | public static FontIcon of(Ikon iconCode, int iconSize, Color iconColor) {
    method getClassCssMetaData (line 316) | public static List<CssMetaData<? extends Styleable, ?>> getClassCssMet...
    method resolvePaintValue (line 320) | private static Paint resolvePaintValue(String iconCode, String value) {
    method invalidDescription (line 336) | public static IllegalArgumentException invalidDescription(String descr...
    class StyleableProperties (line 340) | private static class StyleableProperties {
      method isSettable (line 345) | @Override
      method getStyleableProperty (line 350) | @Override
      method isSettable (line 360) | @Override
      method getStyleableProperty (line 365) | @Override
      method isSettable (line 375) | @Override
      method getStyleableProperty (line 380) | @Override

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconConverter.java
  class FontIconConverter (line 29) | public class FontIconConverter extends StyleConverter<String, Ikon> {
    class Holder (line 30) | private static class Holder {
    method getInstance (line 35) | public static StyleConverter<String, Ikon> getInstance() {
    method FontIconConverter (line 39) | private FontIconConverter() {
    method toString (line 43) | @Override
    method convert (line 48) | @Override
    class SequenceConverter (line 54) | public static final class SequenceConverter extends StyleConverter<Str...
      method getInstance (line 55) | public static SequenceConverter getInstance() {
      method SequenceConverter (line 59) | private SequenceConverter() {
      method convert (line 63) | @Override
      method toString (line 74) | @Override

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconTableCell.java
  class FontIconTableCell (line 33) | public class FontIconTableCell<S, T> extends TableCell<S, T> {
    method forTableColumn (line 36) | public static <S, T> Callback<TableColumn<S, T>, TableCell<S, T>> forT...
    method forTableColumn (line 40) | public static <S, T> Callback<TableColumn<S, T>, TableCell<S, T>> forT...
    method FontIconTableCell (line 48) | @SuppressWarnings("unchecked")
    method FontIconTableCell (line 64) | public FontIconTableCell(StringConverter<T> converter) {
    method converterProperty (line 70) | public final ObjectProperty<StringConverter<T>> converterProperty() {
    method setConverter (line 74) | public final void setConverter(StringConverter<T> converter) {
    method getConverter (line 78) | public final StringConverter<T> getConverter() {
    method updateItem (line 82) | @Override
    method setIconCode (line 111) | private void setIconCode(T value) {
    type Subscription (line 119) | private interface Subscription {
      method unsubscribe (line 120) | void unsubscribe();

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/Icon.java
  type Icon (line 28) | public interface Icon extends Styleable {
    method iconSizeProperty (line 29) | IntegerProperty iconSizeProperty();
    method iconColorProperty (line 31) | ObjectProperty<Paint> iconColorProperty();
    method setIconSize (line 33) | void setIconSize(int size);
    method getIconSize (line 35) | int getIconSize();
    method setIconColor (line 37) | void setIconColor(Paint paint);
    method getIconColor (line 39) | Paint getIconColor();

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/JavaFXFontLoader.java
  class JavaFXFontLoader (line 27) | @org.osgi.service.component.annotations.Component(service = FontLoader.c...
    method loadFont (line 31) | @Override
    method getInstance (line 38) | public static FontLoader getInstance() {

FILE: core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/StackedFontIcon.java
  class StackedFontIcon (line 50) | public class StackedFontIcon extends StackPane implements Icon {
    method setIconSize (line 60) | public static void setIconSize(Node icon, double size) {
    method getIconSize (line 66) | public static double getIconSize(Node icon) {
    class NodeSizeListener (line 76) | private class NodeSizeListener implements MapChangeListener<Object, Ob...
      method NodeSizeListener (line 79) | private NodeSizeListener(Node node) {
      method onChanged (line 83) | @Override
    method StackedFontIcon (line 104) | public StackedFontIcon() {
    method iconSizeProperty (line 153) | public IntegerProperty iconSizeProperty() {
    method iconColorProperty (line 181) | public ObjectProperty<Paint> iconColorProperty() {
    method setIconSize (line 209) | public void setIconSize(int size) {
    method getIconSize (line 216) | public int getIconSize() {
    method setIconColor (line 220) | public void setIconColor(Paint paint) {
    method getIconColor (line 225) | public Paint getIconColor() {
    method setIconCodes (line 229) | public void setIconCodes(Ikon... iconCodes) {
    method setIconCodeLiterals (line 235) | public void setIconCodeLiterals(String... iconCodes) {
    method setIconSizes (line 250) | public void setIconSizes(double... iconSizes) {
    method setColors (line 255) | public void setColors(Paint... iconColors) {
    method initializeSizesIfNeeded (line 264) | private void initializeSizesIfNeeded(Object[] array) {
    method updateIconCodes (line 271) | private void updateIconCodes(Ikon[] iconCodes) {
    method createFontIcon (line 277) | private FontIcon createFontIcon(Ikon iconCode, int index) {
    class StyleableProperties (line 286) | private static class StyleableProperties {
      method isSettable (line 291) | @Override
      method getStyleableProperty (line 296) | @Override
      method isSettable (line 306) | @Override
      method getStyleableProperty (line 311) | @Override
    method getClassCssMetaData (line 328) | public static List<CssMetaData<? extends Styleable, ?>> getClassCssMet...
    method getCssMetaData (line 332) | public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
    method setIconSizeOnChildren (line 336) | private void setIconSizeOnChildren(int size) {
    method applySizeToIcon (line 345) | private void applySizeToIcon(int size, Icon icon, int index) {
    method setIconColorOnChildren (line 351) | private void setIconColorOnChildren(Paint color) {

FILE: core/ikonli-javafx/tmp/FontIconTest.java
  class FontIconTest (line 24) | public class FontIconTest {
    method ensureStyleHasNoDuplicateSize (line 29) | @Test

FILE: core/ikonli-javafx/tmp/PaintConverter.java
  class PaintConverter (line 13) | public class PaintConverter extends StyleConverter<ParsedValue<?, Paint>...
    method getInstance (line 16) | public static PaintConverter getInstance() {
    method PaintConverter (line 41) | private PaintConverter(StyleConverter<ParsedValue<?, Paint>, Paint> de...
    method convert (line 45) | @Override

FILE: core/ikonli-javafx/tmp/SVGGlyphRegistry.java
  class SVGGlyphRegistry (line 19) | public final class SVGGlyphRegistry {
    method getInstance (line 27) | public static SVGGlyphRegistry getInstance() {
    method SVGGlyphRegistry (line 31) | private SVGGlyphRegistry() {
    method getSVGContent (line 34) | public String getSVGContent(Ikon ikon) {
    method resolveGlyphs (line 38) | private Map<String, String> resolveGlyphs(Ikon ikon) {
    method loadGlyphs (line 54) | private void loadGlyphs(Map<String, String> glyphs, Ikon ikon) throws ...

FILE: core/ikonli-javafx/tmp/SVGIcon.java
  class SVGIcon (line 33) | public class SVGIcon extends Region implements Icon {
    method changed (line 40) | @Override
    method changed (line 46) | @Override
    method changed (line 52) | @Override
    method SVGIcon (line 58) | public SVGIcon() {
    method SVGIcon (line 67) | public SVGIcon(String iconCode) {
    method SVGIcon (line 72) | public SVGIcon(Ikon iconCode) {
    method toString (line 77) | public String toString() {
    method iconSizeProperty (line 81) | @Override
    method iconColorProperty (line 105) | @Override
    method iconCodeProperty (line 129) | public ObjectProperty<Ikon> iconCodeProperty() {
    method getIconCodeProperty (line 152) | public ObjectProperty<Ikon> getIconCodeProperty() {
    method setIconSize (line 156) | @Override
    method getIconSize (line 164) | @Override
    method setIconColor (line 169) | @Override
    method getIconColor (line 175) | @Override
    method getIconCode (line 180) | public Ikon getIconCode() {
    method setIconCode (line 184) | public void setIconCode(Ikon iconCode) {
    method setIconLiteral (line 189) | public void setIconLiteral(String iconCode) {
    method getIconLiteral (line 196) | public String getIconLiteral() {
    class StyleableProperties (line 201) | private static class StyleableProperties {
      method isSettable (line 206) | @Override
      method getStyleableProperty (line 211) | @Override
      method isSettable (line 221) | @Override
      method getStyleableProperty (line 226) | @Override
      method isSettable (line 236) | @Override
      method getStyleableProperty (line 241) | @Override
    method getClassCssMetaData (line 259) | public static List<CssMetaData<? extends Styleable, ?>> getClassCssMet...
    method getCssMetaData (line 263) | public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
    method resolveSize (line 267) | private void resolveSize(String iconCode, String[] parts) {
    method resolvePaint (line 279) | private void resolvePaint(String iconCode, String[] parts) {
    method resolvePaintValue (line 288) | private static Paint resolvePaintValue(String iconCode, String value) {
    method invalidDescription (line 304) | public static IllegalArgumentException invalidDescription(String descr...

FILE: core/ikonli-javafx/tmp/SVGIconConverter.java
  class SVGIconConverter (line 61) | public class SVGIconConverter extends StyleConverter<String, Ikon> {
    class Holder (line 62) | private static class Holder {
    method getInstance (line 66) | public static StyleConverter<String, Ikon> getInstance() {
    method SVGIconConverter (line 70) | private SVGIconConverter() {
    method toString (line 74) | @Override
    method convert (line 79) | @Override

FILE: core/ikonli-javafx/tmp/StackedFontIcon.java
  class StackedFontIcon (line 29) | public class StackedFontIcon extends StackPane implements Icon {
    method StackedFontIcon (line 40) | public StackedFontIcon() {
    method iconCodesProperty (line 44) | public ObjectProperty<Ikon[]> iconCodesProperty() {
    method iconSizeProperty (line 67) | public IntegerProperty iconSizeProperty() {
    method iconSizesProperty (line 90) | public ObjectProperty<Number[]> iconSizesProperty() {
    method iconColorProperty (line 113) | public ObjectProperty<Paint> iconColorProperty() {
    method setIconSize (line 136) | public void setIconSize(int size) {
    method getIconSize (line 143) | public int getIconSize() {
    method setIconColor (line 147) | public void setIconColor(Paint paint) {
    method getIconColor (line 152) | public Paint getIconColor() {
    method getIconCodes (line 156) | public Ikon[] getIconCodes() {
    method setIkons (line 161) | public void setIkons(Ikon... iconCodes) {
    method setIconCodes (line 167) | public void setIconCodes(Ikon[] iconCodes) {
    method setIconCodeLiterals (line 173) | public void setIconCodeLiterals(String... iconCodes) {
    method initializeSizesIfNeeded (line 183) | private void initializeSizesIfNeeded(Object[] iconCodes) {
    method updateIconCodes (line 191) | private void updateIconCodes(Ikon[] iconCodes) {
    method createFontIcon (line 197) | private FontIcon createFontIcon(Ikon iconCode, int index) {
    method getIconSizes (line 206) | public Number[] getIconSizes() {
    method setSizes (line 211) | public void setSizes(double... iconSizes) {
    method setIconSizes (line 219) | public void setIconSizes(Number[] iconSizes) {
    method updateIconSizes (line 223) | private void updateIconSizes(Number[] iconSizes) {
    method setColors (line 228) | public void setColors(Paint... iconColors) {
    class StyleableProperties (line 237) | private static class StyleableProperties {
      method isSettable (line 242) | @Override
      method getStyleableProperty (line 247) | @Override
      method isSettable (line 257) | @Override
      method getStyleableProperty (line 262) | @Override
      method isSettable (line 272) | @Override
      method getStyleableProperty (line 277) | @Override
      method isSettable (line 287) | @Override
      method getStyleableProperty (line 292) | @Override
    method getClassCssMetaData (line 311) | public static List<CssMetaData<? extends Styleable, ?>> getClassCssMet...
    method getCssMetaData (line 315) | public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
    method setIconSizeOnChildren (line 319) | private void setIconSizeOnChildren(int size) {
    method applySizeToIcon (line 328) | private void applySizeToIcon(int size, Icon icon, int index) {
    method setIconColorOnChildren (line 334) | private void setIconColorOnChildren(Paint color) {

FILE: core/ikonli-swing/src/main/java/org/kordamp/ikonli/swing/FontIcon.java
  class FontIcon (line 40) | @org.kordamp.ikonli.infra.nativeimage.annotations.NativeImage
    method paintIcon (line 52) | public void paintIcon(Component c, Graphics g, int x, int y) {
    method toImageIcon (line 86) | public ImageIcon toImageIcon() {
    method toImageIcon (line 90) | public ImageIcon toImageIcon(Icon icon) {
    method getIkon (line 96) | public Ikon getIkon() {
    method setIkon (line 100) | public void setIkon(Ikon ikon) {
    method getIconSize (line 110) | public int getIconSize() {
    method setIconSize (line 114) | public void setIconSize(int iconSize) {
    method setProperties (line 124) | protected void setProperties() {
    method getIconColor (line 135) | public Color getIconColor() {
    method setIconColor (line 139) | public void setIconColor(Color iconColor) {
    method getIconHeight (line 144) | public int getIconHeight() {
    method getIconWidth (line 148) | public int getIconWidth() {
    method of (line 152) | public static FontIcon of(Ikon ikon) {
    method of (line 156) | public static FontIcon of(Ikon ikon, int iconSize) {
    method of (line 160) | public static FontIcon of(Ikon ikon, Color iconColor) {
    method of (line 164) | public static FontIcon of(Ikon ikon, int iconSize, Color iconColor) {

FILE: core/ikonli-swing/src/main/java/org/kordamp/ikonli/swing/SwingFontLoader.java
  class SwingFontLoader (line 31) | @org.osgi.service.component.annotations.Component(service = FontLoader.c...
    method loadFont (line 35) | @Override
    method getInstance (line 53) | public static FontLoader getInstance() {

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilled.java
  type AntDesignIconsFilled (line 25) | public enum AntDesignIconsFilled implements Ikon {
    method findByDescription (line 245) | public static AntDesignIconsFilled findByDescription(String descriptio...
    method AntDesignIconsFilled (line 257) | AntDesignIconsFilled(String description, int code) {
    method getDescription (line 262) | @Override
    method getCode (line 267) | @Override

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilledIkonHandler.java
  class AntDesignIconsFilledIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilledIkonProvider.java
  class AntDesignIconsFilledIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlined.java
  type AntDesignIconsOutlined (line 25) | public enum AntDesignIconsOutlined implements Ikon {
    method findByDescription (line 447) | public static AntDesignIconsOutlined findByDescription(String descript...
    method AntDesignIconsOutlined (line 459) | AntDesignIconsOutlined(String description, int code) {
    method getDescription (line 464) | @Override
    method getCode (line 469) | @Override

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlinedIkonHandler.java
  class AntDesignIconsOutlinedIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlinedIkonProvider.java
  class AntDesignIconsOutlinedIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIcons.java
  type BootstrapIcons (line 25) | public enum BootstrapIcons implements Ikon {
    method findByDescription (line 1352) | public static BootstrapIcons findByDescription(String description) {
    method BootstrapIcons (line 1364) | BootstrapIcons(String description, int code) {
    method getDescription (line 1369) | @Override
    method getCode (line 1374) | @Override

FILE: icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIconsIkonHandler.java
  class BootstrapIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIconsIkonProvider.java
  class BootstrapIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogos.java
  type BoxiconsLogos (line 25) | public enum BoxiconsLogos implements Ikon {
    method findByDescription (line 153) | public static BoxiconsLogos findByDescription(String description) {
    method BoxiconsLogos (line 165) | BoxiconsLogos(String description, int code) {
    method getDescription (line 170) | @Override
    method getCode (line 175) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogosIkonHandler.java
  class BoxiconsLogosIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogosIkonProvider.java
  class BoxiconsLogosIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegular.java
  type BoxiconsRegular (line 25) | public enum BoxiconsRegular implements Ikon {
    method findByDescription (line 777) | public static BoxiconsRegular findByDescription(String description) {
    method BoxiconsRegular (line 789) | BoxiconsRegular(String description, int code) {
    method getDescription (line 794) | @Override
    method getCode (line 799) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegularIkonHandler.java
  class BoxiconsRegularIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegularIkonProvider.java
  class BoxiconsRegularIkonProvider (line 23) | @org.kordamp.jipsy.annotations.ServiceProviderFor(org.kordamp.ikonli.Iko...
    method getIkon (line 25) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolid.java
  type BoxiconsSolid (line 25) | public enum BoxiconsSolid implements Ikon {
    method findByDescription (line 651) | public static BoxiconsSolid findByDescription(String description) {
    method BoxiconsSolid (line 663) | BoxiconsSolid(String description, int code) {
    method getDescription (line 668) | @Override
    method getCode (line 673) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolidIkonHandler.java
  class BoxiconsSolidIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolidIkonProvider.java
  class BoxiconsSolidIkonProvider (line 23) | @org.kordamp.jipsy.annotations.ServiceProviderFor(org.kordamp.ikonli.Iko...
    method getIkon (line 25) | @Override

FILE: icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/Bpmn.java
  type Bpmn (line 25) | public enum Bpmn implements Ikon {
    method findByDescription (line 134) | public static Bpmn findByDescription(String description) {
    method Bpmn (line 146) | Bpmn(String description, int code) {
    method getDescription (line 151) | @Override
    method getCode (line 156) | @Override

FILE: icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/BpmnIkonHandler.java
  class BpmnIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/BpmnIkonProvider.java
  class BpmnIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldAL.java
  type BytedanceIconsBoldAL (line 25) | public enum BytedanceIconsBoldAL implements Ikon {
    method findByDescription (line 1522) | public static BytedanceIconsBoldAL findByDescription(String descriptio...
    method BytedanceIconsBoldAL (line 1534) | BytedanceIconsBoldAL(String description, int code) {
    method getDescription (line 1539) | @Override
    method getCode (line 1544) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldALIkonHandler.java
  class BytedanceIconsBoldALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldALIkonProvider.java
  class BytedanceIconsBoldALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZ.java
  type BytedanceIconsBoldMZ (line 25) | public enum BytedanceIconsBoldMZ implements Ikon {
    method findByDescription (line 1190) | public static BytedanceIconsBoldMZ findByDescription(String descriptio...
    method BytedanceIconsBoldMZ (line 1202) | BytedanceIconsBoldMZ(String description, int code) {
    method getDescription (line 1207) | @Override
    method getCode (line 1212) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZIkonHandler.java
  class BytedanceIconsBoldMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZIkonProvider.java
  class BytedanceIconsBoldMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldAL.java
  type BytedanceIconsExtraBoldAL (line 25) | public enum BytedanceIconsExtraBoldAL implements Ikon {
    method findByDescription (line 1522) | public static BytedanceIconsExtraBoldAL findByDescription(String descr...
    method BytedanceIconsExtraBoldAL (line 1534) | BytedanceIconsExtraBoldAL(String description, int code) {
    method getDescription (line 1539) | @Override
    method getCode (line 1544) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldALIkonHandler.java
  class BytedanceIconsExtraBoldALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldALIkonProvider.java
  class BytedanceIconsExtraBoldALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZ.java
  type BytedanceIconsExtraBoldMZ (line 25) | public enum BytedanceIconsExtraBoldMZ implements Ikon {
    method findByDescription (line 1190) | public static BytedanceIconsExtraBoldMZ findByDescription(String descr...
    method BytedanceIconsExtraBoldMZ (line 1202) | BytedanceIconsExtraBoldMZ(String description, int code) {
    method getDescription (line 1207) | @Override
    method getCode (line 1212) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZIkonHandler.java
  class BytedanceIconsExtraBoldMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZIkonProvider.java
  class BytedanceIconsExtraBoldMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularAL.java
  type BytedanceIconsRegularAL (line 25) | public enum BytedanceIconsRegularAL implements Ikon {
    method findByDescription (line 1522) | public static BytedanceIconsRegularAL findByDescription(String descrip...
    method BytedanceIconsRegularAL (line 1534) | BytedanceIconsRegularAL(String description, int code) {
    method getDescription (line 1539) | @Override
    method getCode (line 1544) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularALIkonHandler.java
  class BytedanceIconsRegularALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularALIkonProvider.java
  class BytedanceIconsRegularALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZ.java
  type BytedanceIconsRegularMZ (line 25) | public enum BytedanceIconsRegularMZ implements Ikon {
    method findByDescription (line 1191) | public static BytedanceIconsRegularMZ findByDescription(String descrip...
    method BytedanceIconsRegularMZ (line 1203) | BytedanceIconsRegularMZ(String description, int code) {
    method getDescription (line 1208) | @Override
    method getCode (line 1213) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZIkonHandler.java
  class BytedanceIconsRegularMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZIkonProvider.java
  class BytedanceIconsRegularMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinAL.java
  type BytedanceIconsThinAL (line 25) | public enum BytedanceIconsThinAL implements Ikon {
    method findByDescription (line 1522) | public static BytedanceIconsThinAL findByDescription(String descriptio...
    method BytedanceIconsThinAL (line 1534) | BytedanceIconsThinAL(String description, int code) {
    method getDescription (line 1539) | @Override
    method getCode (line 1544) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinALIkonHandler.java
  class BytedanceIconsThinALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinALIkonProvider.java
  class BytedanceIconsThinALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinMZ.java
  type BytedanceIconsThinMZ (line 25) | public enum BytedanceIconsThinMZ implements Ikon {
    method findByDescription (line 1190) | public static BytedanceIconsThinMZ findByDescription(String descriptio...
    method BytedanceIconsThinMZ (line 1202) | BytedanceIconsThinMZ(String description, int code) {
    method getDescription (line 1207) | @Override
    method getCode (line 1212) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinMZIkonHandler.java
  class BytedanceIconsThinMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinMZIkonProvider.java
  class BytedanceIconsThinMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-captainicon-pack/src/main/java/org/kordamp/ikonli/captainicon/Captainicon.java
  type Captainicon (line 25) | public enum Captainicon implements Ikon {
    method findByDescription (line 402) | public static Captainicon findByDescription(String description) {
    method Captainicon (line 414) | Captainicon(String description, int code) {
    method getDescription (line 419) | @Override
    method getCode (line 424) | @Override

FILE: icon-packs/ikonli-captainicon-pack/src/main/java/org/kordamp/ikonli/captainicon/CaptainiconIkonHandler.java
  class CaptainiconIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-captainicon-pack/src/main/java/org/kordamp/ikonli/captainicon/CaptainiconIkonProvider.java
  class CaptainiconIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-carbonicons-pack/src/main/java/org/kordamp/ikonli/carbonicons/CarbonIcons.java
  type CarbonIcons (line 25) | public enum CarbonIcons implements Ikon {
    method findByDescription (line 1480) | public static CarbonIcons findByDescription(String description) {
    method CarbonIcons (line 1492) | CarbonIcons(String description, int code) {
    method getDescription (line 1497) | @Override
    method getCode (line 1502) | @Override

FILE: icon-packs/ikonli-carbonicons-pack/src/main/java/org/kordamp/ikonli/carbonicons/CarbonIconsIkonProvider.java
  class CarbonIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-carbonicons-pack/src/main/java/org/kordamp/ikonli/carbonicons/CarboniconsIkonHandler.java
  class CarboniconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-codicons-pack/src/main/java/org/kordamp/ikonli/codicons/Codicons.java
  type Codicons (line 25) | public enum Codicons implements Ikon {
    method findByDescription (line 357) | public static Codicons findByDescription(String description) {
    method Codicons (line 369) | Codicons(String description, int code) {
    method getDescription (line 374) | @Override
    method getCode (line 379) | @Override

FILE: icon-packs/ikonli-codicons-pack/src/main/java/org/kordamp/ikonli/codicons/CodiconsIkonHandler.java
  class CodiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-codicons-pack/src/main/java/org/kordamp/ikonli/codicons/CodiconsIkonProvider.java
  class CodiconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiBrands.java
  type CoreUiBrands (line 25) | public enum CoreUiBrands implements Ikon {
    method findByDescription (line 856) | public static CoreUiBrands findByDescription(String description) {
    method CoreUiBrands (line 868) | CoreUiBrands(String description, int code) {
    method getDescription (line 873) | @Override
    method getCode (line 878) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiBrandsIkonHandler.java
  class CoreUiBrandsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiBrandsIkonProvider.java
  class CoreUiBrandsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiFree.java
  type CoreUiFree (line 25) | public enum CoreUiFree implements Ikon {
    method findByDescription (line 579) | public static CoreUiFree findByDescription(String description) {
    method CoreUiFree (line 591) | CoreUiFree(String description, int code) {
    method getDescription (line 596) | @Override
    method getCode (line 601) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiFreeIkonHandler.java
  class CoreUiFreeIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-coreui-pack/src/main/java/org/kordamp/ikonli/coreui/CoreUiFreeIkonProvider.java
  class CoreUiFreeIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-dashicons-pack/src/main/java/org/kordamp/ikonli/dashicons/Dashicons.java
  type Dashicons (line 25) | public enum Dashicons implements Ikon {
    method findByDescription (line 376) | public static Dashicons findByDescription(String description) {
    method Dashicons (line 388) | Dashicons(String description, int code) {
    method getDescription (line 393) | @Override
    method getCode (line 398) | @Override

FILE: icon-packs/ikonli-dashicons-pack/src/main/java/org/kordamp/ikonli/dashicons/DashiconsIkonHandler.java
  class DashiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-dashicons-pack/src/main/java/org/kordamp/ikonli/dashicons/DashiconsIkonProvider.java
  class DashiconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-devicons-pack/src/main/java/org/kordamp/ikonli/devicons/Devicons.java
  type Devicons (line 25) | public enum Devicons implements Ikon {
    method findByDescription (line 218) | public static Devicons findByDescription(String description) {
    method Devicons (line 230) | Devicons(String description, int code) {
    method getDescription (line 235) | @Override
    method getCode (line 240) | @Override

FILE: icon-packs/ikonli-devicons-pack/src/main/java/org/kordamp/ikonli/devicons/DeviconsIkonHandler.java
  class DeviconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-devicons-pack/src/main/java/org/kordamp/ikonli/devicons/DeviconsIkonProvider.java
  class DeviconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-elusive-pack/src/main/java/org/kordamp/ikonli/elusive/Elusive.java
  type Elusive (line 25) | public enum Elusive implements Ikon {
    method findByDescription (line 327) | public static Elusive findByDescription(String description) {
    method Elusive (line 339) | Elusive(String description, int code) {
    method getDescription (line 344) | @Override
    method getCode (line 349) | @Override

FILE: icon-packs/ikonli-elusive-pack/src/main/java/org/kordamp/ikonli/elusive/ElusiveIkonHandler.java
  class ElusiveIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-elusive-pack/src/main/java/org/kordamp/ikonli/elusive/ElusiveIkonProvider.java
  class ElusiveIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-entypo-pack/src/main/java/org/kordamp/ikonli/entypo/Entypo.java
  type Entypo (line 25) | public enum Entypo implements Ikon {
    method findByDescription (line 439) | public static Entypo findByDescription(String description) {
    method Entypo (line 451) | Entypo(String description, int code) {
    method getDescription (line 456) | @Override
    method getCode (line 461) | @Override

FILE: icon-packs/ikonli-entypo-pack/src/main/java/org/kordamp/ikonli/entypo/EntypoIkonHandler.java
  class EntypoIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-entypo-pack/src/main/java/org/kordamp/ikonli/entypo/EntypoIkonProvider.java
  class EntypoIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-evaicons-pack/src/main/java/org/kordamp/ikonli/evaicons/Evaicons.java
  type Evaicons (line 25) | public enum Evaicons implements Ikon {
    method findByDescription (line 517) | public static Evaicons findByDescription(String description) {
    method Evaicons (line 529) | Evaicons(String description, int code) {
    method getDescription (line 534) | @Override
    method getCode (line 539) | @Override

FILE: icon-packs/ikonli-evaicons-pack/src/main/java/org/kordamp/ikonli/evaicons/EvaiconsIkonHandler.java
  class EvaiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-evaicons-pack/src/main/java/org/kordamp/ikonli/evaicons/EvaiconsIkonProvider.java
  class EvaiconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-feather-pack/src/main/java/org/kordamp/ikonli/feather/Feather.java
  type Feather (line 25) | public enum Feather implements Ikon {
    method findByDescription (line 313) | public static Feather findByDescription(String description) {
    method Feather (line 325) | Feather(String description, int code) {
    method getDescription (line 330) | @Override
    method getCode (line 335) | @Override

FILE: icon-packs/ikonli-feather-pack/src/main/java/org/kordamp/ikonli/feather/FeatherIkonHandler.java
  class FeatherIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-feather-pack/src/main/java/org/kordamp/ikonli/feather/FeatherIkonProvider.java
  class FeatherIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fileicons-pack/src/main/java/org/kordamp/ikonli/fileicons/FileIcons.java
  type FileIcons (line 25) | public enum FileIcons implements Ikon {
    method findByDescription (line 931) | public static FileIcons findByDescription(String description) {
    method FileIcons (line 943) | FileIcons(String description, int code) {
    method getDescription (line 948) | @Override
    method getCode (line 953) | @Override

FILE: icon-packs/ikonli-fileicons-pack/src/main/java/org/kordamp/ikonli/fileicons/FileIconsIkonHandler.java
  class FileIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fileicons-pack/src/main/java/org/kordamp/ikonli/fileicons/FileIconsIkonProvider.java
  class FileIconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledAL.java
  type FluentUiFilledAL (line 25) | public enum FluentUiFilledAL implements Ikon {
    method findByDescription (line 1423) | public static FluentUiFilledAL findByDescription(String description) {
    method FluentUiFilledAL (line 1435) | FluentUiFilledAL(int code) {
    method getDescription (line 1440) | @Override
    method getCode (line 1445) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledALIkonHandler.java
  class FluentUiFilledALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledALIkonProvider.java
  class FluentUiFilledALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledMZ.java
  type FluentUiFilledMZ (line 25) | public enum FluentUiFilledMZ implements Ikon {
    method findByDescription (line 1230) | public static FluentUiFilledMZ findByDescription(String description) {
    method FluentUiFilledMZ (line 1242) | FluentUiFilledMZ(int code) {
    method getDescription (line 1247) | @Override
    method getCode (line 1252) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledMZIkonHandler.java
  class FluentUiFilledMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiFilledMZIkonProvider.java
  class FluentUiFilledMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularAL.java
  type FluentUiRegularAL (line 25) | public enum FluentUiRegularAL implements Ikon {
    method findByDescription (line 1420) | public static FluentUiRegularAL findByDescription(String description) {
    method FluentUiRegularAL (line 1432) | FluentUiRegularAL(int code) {
    method getDescription (line 1437) | @Override
    method getCode (line 1442) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularALIkonHandler.java
  class FluentUiRegularALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularALIkonProvider.java
  class FluentUiRegularALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularMZ.java
  type FluentUiRegularMZ (line 25) | public enum FluentUiRegularMZ implements Ikon {
    method findByDescription (line 1225) | public static FluentUiRegularMZ findByDescription(String description) {
    method FluentUiRegularMZ (line 1237) | FluentUiRegularMZ(int code) {
    method getDescription (line 1242) | @Override
    method getCode (line 1247) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularMZIkonHandler.java
  class FluentUiRegularMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fluentui-pack/src/main/java/org/kordamp/ikonli/fluentui/FluentUiRegularMZIkonProvider.java
  class FluentUiRegularMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fontawesome-pack/src/main/java/org/kordamp/ikonli/fontawesome/FontAwesome.java
  type FontAwesome (line 25) | public enum FontAwesome implements Ikon {
    method findByDescription (line 809) | public static FontAwesome findByDescription(String description) {
    method FontAwesome (line 821) | FontAwesome(String description, int code) {
    method getDescription (line 826) | @Override
    method getCode (line 831) | @Override

FILE: icon-packs/ikonli-fontawesome-pack/src/main/java/org/kordamp/ikonli/fontawesome/FontAwesomeIkonHandler.java
  class FontAwesomeIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome-pack/src/main/java/org/kordamp/ikonli/fontawesome/FontAwesomeIkonProvider.java
  class FontAwesomeIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeBrands.java
  type FontAwesomeBrands (line 25) | public enum FontAwesomeBrands implements Ikon {
    method findByDescription (line 484) | public static FontAwesomeBrands findByDescription(String description) {
    method FontAwesomeBrands (line 496) | FontAwesomeBrands(String description, int code) {
    method getDescription (line 501) | @Override
    method getCode (line 506) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeBrandsIkonHandler.java
  class FontAwesomeBrandsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeBrandsIkonProvider.java
  class FontAwesomeBrandsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeRegular.java
  type FontAwesomeRegular (line 25) | public enum FontAwesomeRegular implements Ikon {
    method findByDescription (line 178) | public static FontAwesomeRegular findByDescription(String description) {
    method FontAwesomeRegular (line 190) | FontAwesomeRegular(String description, int code) {
    method getDescription (line 195) | @Override
    method getCode (line 200) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeRegularIkonHandler.java
  class FontAwesomeRegularIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeRegularIkonProvider.java
  class FontAwesomeRegularIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeSolid.java
  type FontAwesomeSolid (line 25) | public enum FontAwesomeSolid implements Ikon {
    method findByDescription (line 1028) | public static FontAwesomeSolid findByDescription(String description) {
    method FontAwesomeSolid (line 1040) | FontAwesomeSolid(String description, int code) {
    method getDescription (line 1045) | @Override
    method getCode (line 1050) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeSolidIkonHandler.java
  class FontAwesomeSolidIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome5-pack/src/main/java/org/kordamp/ikonli/fontawesome5/FontAwesomeSolidIkonProvider.java
  class FontAwesomeSolidIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeBrands.java
  type FontAwesomeBrands (line 25) | public enum FontAwesomeBrands implements Ikon {
    method findByDescription (line 484) | public static FontAwesomeBrands findByDescription(String description) {
    method FontAwesomeBrands (line 496) | FontAwesomeBrands(String description, int code) {
    method getDescription (line 501) | @Override
    method getCode (line 506) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeBrandsIkonHandler.java
  class FontAwesomeBrandsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeBrandsIkonProvider.java
  class FontAwesomeBrandsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeRegular.java
  type FontAwesomeRegular (line 25) | public enum FontAwesomeRegular implements Ikon {
    method findByDescription (line 178) | public static FontAwesomeRegular findByDescription(String description) {
    method FontAwesomeRegular (line 190) | FontAwesomeRegular(String description, int code) {
    method getDescription (line 195) | @Override
    method getCode (line 200) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeRegularIkonHandler.java
  class FontAwesomeRegularIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeRegularIkonProvider.java
  class FontAwesomeRegularIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeSolid.java
  type FontAwesomeSolid (line 25) | public enum FontAwesomeSolid implements Ikon {
    method findByDescription (line 1028) | public static FontAwesomeSolid findByDescription(String description) {
    method FontAwesomeSolid (line 1040) | FontAwesomeSolid(String description, int code) {
    method getDescription (line 1045) | @Override
    method getCode (line 1050) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeSolidIkonHandler.java
  class FontAwesomeSolidIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-fontawesome6-pack/src/main/java/org/kordamp/ikonli/fontawesome6/FontAwesomeSolidIkonProvider.java
  class FontAwesomeSolidIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-fontelico-pack/src/main/java/org/kordamp/ikonli/fontelico/Fontelico.java
  type Fontelico (line 25) | public enum Fontelico implements Ikon {
    method findByDescription (line 61) | public static Fontelico findByDescription(String description) {
    method Fontelico (line 73) | Fontelico(String description, int code) {
    method getDescription (line 78) | @Override
    method getCode (line 83) | @Override

FILE: icon-packs/ikonli-fontelico-pack/src/main/java/org/kordamp/ikonli/fontelico/FontelicoIkonHandler.java
  class FontelicoIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 38) | @Override
    method resolve (line 43) | @Override
    method getFontResource (line 48) | @Override
    method getFontResourceAsStream (line 53) | @Override
    method getFontFamily (line 58) | @Override

FILE: icon-packs/ikonli-fontelico-pack/src/main/java/org/kordamp/ikonli/fontelico/FontelicoIkonProvider.java
  class FontelicoIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-foundation-pack/src/main/java/org/kordamp/ikonli/foundation/Foundation.java
  type Foundation (line 25) | public enum Foundation implements Ikon {
    method findByDescription (line 310) | public static Foundation findByDescription(String description) {
    method Foundation (line 322) | Foundation(String description, int code) {
    method getDescription (line 327) | @Override
    method getCode (line 332) | @Override

FILE: icon-packs/ikonli-foundation-pack/src/main/java/org/kordamp/ikonli/foundation/FoundationIkonHandler.java
  class FoundationIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-foundation-pack/src/main/java/org/kordamp/ikonli/foundation/FoundationIkonProvider.java
  class FoundationIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsFilled.java
  type HawconsFilled (line 25) | public enum HawconsFilled implements Ikon {
    method findByDescription (line 544) | public static HawconsFilled findByDescription(String description) {
    method HawconsFilled (line 556) | HawconsFilled(String description, int code) {
    method getDescription (line 561) | @Override
    method getCode (line 566) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsFilledIkonHandler.java
  class HawconsFilledIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsFilledIkonProvider.java
  class HawconsFilledIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsStroke.java
  type HawconsStroke (line 25) | public enum HawconsStroke implements Ikon {
    method findByDescription (line 545) | public static HawconsStroke findByDescription(String description) {
    method HawconsStroke (line 557) | HawconsStroke(String description, int code) {
    method getDescription (line 562) | @Override
    method getCode (line 567) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsStrokeIkonHandler.java
  class HawconsStrokeIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-hawcons-pack/src/main/java/org/kordamp/ikonli/hawcons/HawconsStrokeIkonProvider.java
  class HawconsStrokeIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-icomoon-pack/src/main/java/org/kordamp/ikonli/icomoon/Icomoon.java
  type Icomoon (line 25) | public enum Icomoon implements Ikon {
    method findByDescription (line 519) | public static Icomoon findByDescription(String description) {
    method Icomoon (line 531) | Icomoon(String description, int code) {
    method getDescription (line 536) | @Override
    method getCode (line 541) | @Override

FILE: icon-packs/ikonli-icomoon-pack/src/main/java/org/kordamp/ikonli/icomoon/IcomoonIkonHandler.java
  class IcomoonIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-icomoon-pack/src/main/java/org/kordamp/ikonli/icomoon/IcomoonIkonProvider.java
  class IcomoonIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-ionicons-pack/src/main/java/org/kordamp/ikonli/ionicons/Ionicons.java
  type Ionicons (line 25) | public enum Ionicons implements Ikon {
    method findByDescription (line 761) | public static Ionicons findByDescription(String description) {
    method Ionicons (line 773) | Ionicons(String description, int code) {
    method getDescription (line 778) | @Override
    method getCode (line 783) | @Override

FILE: icon-packs/ikonli-ionicons-pack/src/main/java/org/kordamp/ikonli/ionicons/IoniconsIkonHandler.java
  class IoniconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-ionicons-pack/src/main/java/org/kordamp/ikonli/ionicons/IoniconsIkonProvider.java
  class IoniconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4IOS.java
  type Ionicons4IOS (line 25) | public enum Ionicons4IOS implements Ikon {
    method findByDescription (line 344) | public static Ionicons4IOS findByDescription(String description) {
    method Ionicons4IOS (line 356) | Ionicons4IOS(String description, int code) {
    method getDescription (line 361) | @Override
    method getCode (line 366) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4IOSIkonHandler.java
  class Ionicons4IOSIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4IOSIkonProvider.java
  class Ionicons4IOSIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4Logo.java
  type Ionicons4Logo (line 25) | public enum Ionicons4Logo implements Ikon {
    method findByDescription (line 89) | public static Ionicons4Logo findByDescription(String description) {
    method Ionicons4Logo (line 101) | Ionicons4Logo(String description, int code) {
    method getDescription (line 106) | @Override
    method getCode (line 111) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4LogoIkonHandler.java
  class Ionicons4LogoIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 48) | @Override
    method getFontResourceAsStream (line 53) | @Override
    method getFontFamily (line 58) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4LogoIkonProvider.java
  class Ionicons4LogoIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4Material.java
  type Ionicons4Material (line 25) | public enum Ionicons4Material implements Ikon {
    method findByDescription (line 344) | public static Ionicons4Material findByDescription(String description) {
    method Ionicons4Material (line 356) | Ionicons4Material(String description, int code) {
    method getDescription (line 361) | @Override
    method getCode (line 366) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4MaterialIkonHandler.java
  class Ionicons4MaterialIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-ionicons4-pack/src/main/java/org/kordamp/ikonli/ionicons4/Ionicons4MaterialIkonProvider.java
  class Ionicons4MaterialIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-jamicons-pack/src/main/java/org/kordamp/ikonli/jam/Jam.java
  type Jam (line 25) | public enum Jam implements Ikon {
    method findByDescription (line 923) | public static Jam findByDescription(String description) {
    method Jam (line 935) | Jam(String description, int code) {
    method getDescription (line 940) | @Override
    method getCode (line 945) | @Override

FILE: icon-packs/ikonli-jamicons-pack/src/main/java/org/kordamp/ikonli/jam/JamIkonHandler.java
  class JamIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-jamicons-pack/src/main/java/org/kordamp/ikonli/jam/JamIkonProvider.java
  class JamIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-ligaturesymbols-pack/src/main/java/org/kordamp/ikonli/ligaturesymbols/LigatureSymbols.java
  type LigatureSymbols (line 25) | public enum LigatureSymbols implements Ikon {
    method findByDescription (line 266) | public static LigatureSymbols findByDescription(String description) {
    method LigatureSymbols (line 278) | LigatureSymbols(String description, int code) {
    method getDescription (line 283) | @Override
    method getCode (line 288) | @Override

FILE: icon-packs/ikonli-ligaturesymbols-pack/src/main/java/org/kordamp/ikonli/ligaturesymbols/LigatureSymbolsIkonHandler.java
  class LigatureSymbolsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-ligaturesymbols-pack/src/main/java/org/kordamp/ikonli/ligaturesymbols/LigatureSymbolsIkonProvider.java
  class LigatureSymbolsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeBrands.java
  type LineAwesomeBrands (line 25) | public enum LineAwesomeBrands implements Ikon {
    method findByDescription (line 484) | public static LineAwesomeBrands findByDescription(String description) {
    method LineAwesomeBrands (line 496) | LineAwesomeBrands(String description, int code) {
    method getDescription (line 501) | @Override
    method getCode (line 506) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeBrandsIkonHandler.java
  class LineAwesomeBrandsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeBrandsIkonProvider.java
  class LineAwesomeBrandsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeRegular.java
  type LineAwesomeRegular (line 25) | public enum LineAwesomeRegular implements Ikon {
    method findByDescription (line 178) | public static LineAwesomeRegular findByDescription(String description) {
    method LineAwesomeRegular (line 190) | LineAwesomeRegular(String description, int code) {
    method getDescription (line 195) | @Override
    method getCode (line 200) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeRegularIkonHandler.java
  class LineAwesomeRegularIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeRegularIkonProvider.java
  class LineAwesomeRegularIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeSolid.java
  type LineAwesomeSolid (line 25) | public enum LineAwesomeSolid implements Ikon {
    method findByDescription (line 1028) | public static LineAwesomeSolid findByDescription(String description) {
    method LineAwesomeSolid (line 1040) | LineAwesomeSolid(String description, int code) {
    method getDescription (line 1045) | @Override
    method getCode (line 1050) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeSolidIkonHandler.java
  class LineAwesomeSolidIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-lineawesome-pack/src/main/java/org/kordamp/ikonli/lineawesome/LineAwesomeSolidIkonProvider.java
  class LineAwesomeSolidIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-linecons-pack/src/main/java/org/kordamp/ikonli/linecons/Linecons.java
  type Linecons (line 25) | public enum Linecons implements Ikon {
    method Linecons (line 78) | Linecons(String description, int code) {
    method findByDescription (line 83) | public static Linecons findByDescription(String description) {
    method getDescription (line 92) | @Override
    method getCode (line 97) | @Override

FILE: icon-packs/ikonli-linecons-pack/src/main/java/org/kordamp/ikonli/linecons/LineconsIkonHandler.java
  class LineconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-linecons-pack/src/main/java/org/kordamp/ikonli/linecons/LineconsIkonProvider.java
  class LineconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-maki-pack/src/main/java/org/kordamp/ikonli/maki/Maki.java
  type Maki (line 25) | public enum Maki implements Ikon {
    method findByDescription (line 90) | public static Maki findByDescription(String description) {
    method Maki (line 102) | Maki(String description, int code) {
    method getDescription (line 107) | @Override
    method getCode (line 112) | @Override

FILE: icon-packs/ikonli-maki-pack/src/main/java/org/kordamp/ikonli/maki/MakiIkonHandler.java
  class MakiIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-maki-pack/src/main/java/org/kordamp/ikonli/maki/MakiIkonProvider.java
  class MakiIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-maki2-pack/src/main/java/org/kordamp/ikonli/maki2/Maki2.java
  type Maki2 (line 25) | public enum Maki2 implements Ikon {
    method findByDescription (line 401) | public static Maki2 findByDescription(String description) {
    method Maki2 (line 413) | Maki2(String description, int code) {
    method getDescription (line 418) | @Override
    method getCode (line 423) | @Override

FILE: icon-packs/ikonli-maki2-pack/src/main/java/org/kordamp/ikonli/maki2/Maki2IkonHandler.java
  class Maki2IkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-maki2-pack/src/main/java/org/kordamp/ikonli/maki2/Maki2IkonProvider.java
  class Maki2IkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-mapicons-pack/src/main/java/org/kordamp/ikonli/mapicons/Mapicons.java
  type Mapicons (line 25) | public enum Mapicons implements Ikon {
    method findByDescription (line 202) | public static Mapicons findByDescription(String description) {
    method Mapicons (line 214) | Mapicons(String description, int code) {
    method getDescription (line 219) | @Override
    method getCode (line 224) | @Override

FILE: icon-packs/ikonli-mapicons-pack/src/main/java/org/kordamp/ikonli/mapicons/MapiconsIkonHandler.java
  class MapiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-mapicons-pack/src/main/java/org/kordamp/ikonli/mapicons/MapiconsIkonProvider.java
  class MapiconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-material-pack/src/main/java/org/kordamp/ikonli/material/Material.java
  type Material (line 25) | public enum Material implements Ikon {
    method findByDescription (line 1305) | public static Material findByDescription(String description) {
    method Material (line 1317) | Material(String description, int code) {
    method getDescription (line 1322) | @Override
    method getCode (line 1327) | @Override

FILE: icon-packs/ikonli-material-pack/src/main/java/org/kordamp/ikonli/material/MaterialIkonHandler.java
  class MaterialIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material-pack/src/main/java/org/kordamp/ikonli/material/MaterialIkonProvider.java
  class MaterialIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2AL.java
  type Material2AL (line 25) | public enum Material2AL implements Ikon {
    method findByDescription (line 754) | public static Material2AL findByDescription(String description) {
    method Material2AL (line 766) | Material2AL(String description, int code) {
    method getDescription (line 771) | @Override
    method getCode (line 776) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2ALIkonHandler.java
  class Material2ALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2ALIkonProvider.java
  class Material2ALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2MZ.java
  type Material2MZ (line 25) | public enum Material2MZ implements Ikon {
    method findByDescription (line 680) | public static Material2MZ findByDescription(String description) {
    method Material2MZ (line 692) | Material2MZ(String description, int code) {
    method getDescription (line 697) | @Override
    method getCode (line 702) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2MZIkonHandler.java
  class Material2MZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2MZIkonProvider.java
  class Material2MZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedAL.java
  type Material2OutlinedAL (line 25) | public enum Material2OutlinedAL implements Ikon {
    method findByDescription (line 754) | public static Material2OutlinedAL findByDescription(String description) {
    method Material2OutlinedAL (line 766) | Material2OutlinedAL(String description, int code) {
    method getDescription (line 771) | @Override
    method getCode (line 776) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedALIkonHandler.java
  class Material2OutlinedALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedALIkonProvider.java
  class Material2OutlinedALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedMZ.java
  type Material2OutlinedMZ (line 25) | public enum Material2OutlinedMZ implements Ikon {
    method findByDescription (line 680) | public static Material2OutlinedMZ findByDescription(String description) {
    method Material2OutlinedMZ (line 692) | Material2OutlinedMZ(String description, int code) {
    method getDescription (line 697) | @Override
    method getCode (line 702) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedMZIkonHandler.java
  class Material2OutlinedMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2OutlinedMZIkonProvider.java
  class Material2OutlinedMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundAL.java
  type Material2RoundAL (line 25) | public enum Material2RoundAL implements Ikon {
    method findByDescription (line 754) | public static Material2RoundAL findByDescription(String description) {
    method Material2RoundAL (line 766) | Material2RoundAL(String description, int code) {
    method getDescription (line 771) | @Override
    method getCode (line 776) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundALIkonHandler.java
  class Material2RoundALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundALIkonProvider.java
  class Material2RoundALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundMZ.java
  type Material2RoundMZ (line 25) | public enum Material2RoundMZ implements Ikon {
    method findByDescription (line 680) | public static Material2RoundMZ findByDescription(String description) {
    method Material2RoundMZ (line 692) | Material2RoundMZ(String description, int code) {
    method getDescription (line 697) | @Override
    method getCode (line 702) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundMZIkonHandler.java
  class Material2RoundMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2RoundMZIkonProvider.java
  class Material2RoundMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpAL.java
  type Material2SharpAL (line 25) | public enum Material2SharpAL implements Ikon {
    method findByDescription (line 754) | public static Material2SharpAL findByDescription(String description) {
    method Material2SharpAL (line 766) | Material2SharpAL(String description, int code) {
    method getDescription (line 771) | @Override
    method getCode (line 776) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpALIkonHandler.java
  class Material2SharpALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpALIkonProvider.java
  class Material2SharpALIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpMZ.java
  type Material2SharpMZ (line 25) | public enum Material2SharpMZ implements Ikon {
    method findByDescription (line 680) | public static Material2SharpMZ findByDescription(String description) {
    method Material2SharpMZ (line 692) | Material2SharpMZ(String description, int code) {
    method getDescription (line 697) | @Override
    method getCode (line 702) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpMZIkonHandler.java
  class Material2SharpMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-material2-pack/src/main/java/org/kordamp/ikonli/material2/Material2SharpMZIkonProvider.java
  class Material2SharpMZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign-pack/src/main/java/org/kordamp/ikonli/materialdesign/MaterialDesign.java
  type MaterialDesign (line 25) | public enum MaterialDesign implements Ikon {
    method findByDescription (line 1749) | public static MaterialDesign findByDescription(String description) {
    method MaterialDesign (line 1761) | MaterialDesign(String description, char code) {
    method getDescription (line 1766) | @Override
    method getCode (line 1771) | @Override

FILE: icon-packs/ikonli-materialdesign-pack/src/main/java/org/kordamp/ikonli/materialdesign/MaterialDesignIkonHandler.java
  class MaterialDesignIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-materialdesign-pack/src/main/java/org/kordamp/ikonli/materialdesign/MaterialDesignIkonProvider.java
  class MaterialDesignIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/AbstractMaterialDesignIkonHandler.java
  class AbstractMaterialDesignIkonHandler (line 28) | public abstract class AbstractMaterialDesignIkonHandler extends Abstract...
    method getFontResource (line 31) | @Override
    method getFontResourceAsStream (line 36) | @Override
    method getFontFamily (line 41) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignA.java
  type MaterialDesignA (line 25) | public enum MaterialDesignA implements Ikon {
    method findByDescription (line 722) | public static MaterialDesignA findByDescription(String description) {
    method MaterialDesignA (line 734) | MaterialDesignA(String description, String code) {
    method getDescription (line 739) | @Override
    method getCode (line 744) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignAIkonHandler.java
  class MaterialDesignAIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignAIkonProvider.java
  class MaterialDesignAIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignB.java
  type MaterialDesignB (line 25) | public enum MaterialDesignB implements Ikon {
    method findByDescription (line 572) | public static MaterialDesignB findByDescription(String description) {
    method MaterialDesignB (line 584) | MaterialDesignB(String description, String code) {
    method getDescription (line 589) | @Override
    method getCode (line 594) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignBIkonHandler.java
  class MaterialDesignBIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignBIkonProvider.java
  class MaterialDesignBIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignC.java
  type MaterialDesignC (line 25) | public enum MaterialDesignC implements Ikon {
    method findByDescription (line 1081) | public static MaterialDesignC findByDescription(String description) {
    method MaterialDesignC (line 1093) | MaterialDesignC(String description, String code) {
    method getDescription (line 1098) | @Override
    method getCode (line 1103) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignCIkonHandler.java
  class MaterialDesignCIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignCIkonProvider.java
  class MaterialDesignCIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignD.java
  type MaterialDesignD (line 25) | public enum MaterialDesignD implements Ikon {
    method findByDescription (line 276) | public static MaterialDesignD findByDescription(String description) {
    method MaterialDesignD (line 288) | MaterialDesignD(String description, String code) {
    method getDescription (line 293) | @Override
    method getCode (line 298) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignDIkonHandler.java
  class MaterialDesignDIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignDIkonProvider.java
  class MaterialDesignDIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignE.java
  type MaterialDesignE (line 25) | public enum MaterialDesignE implements Ikon {
    method findByDescription (line 237) | public static MaterialDesignE findByDescription(String description) {
    method MaterialDesignE (line 249) | MaterialDesignE(String description, String code) {
    method getDescription (line 254) | @Override
    method getCode (line 259) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignEIkonHandler.java
  class MaterialDesignEIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignEIkonProvider.java
  class MaterialDesignEIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignF.java
  type MaterialDesignF (line 25) | public enum MaterialDesignF implements Ikon {
    method findByDescription (line 690) | public static MaterialDesignF findByDescription(String description) {
    method MaterialDesignF (line 702) | MaterialDesignF(String description, String code) {
    method getDescription (line 707) | @Override
    method getCode (line 712) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignFIkonHandler.java
  class MaterialDesignFIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignFIkonProvider.java
  class MaterialDesignFIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignG.java
  type MaterialDesignG (line 25) | public enum MaterialDesignG implements Ikon {
    method findByDescription (line 206) | public static MaterialDesignG findByDescription(String description) {
    method MaterialDesignG (line 218) | MaterialDesignG(String description, String code) {
    method getDescription (line 223) | @Override
    method getCode (line 228) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignGIkonHandler.java
  class MaterialDesignGIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignGIkonProvider.java
  class MaterialDesignGIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignH.java
  type MaterialDesignH (line 25) | public enum MaterialDesignH implements Ikon {
    method findByDescription (line 327) | public static MaterialDesignH findByDescription(String description) {
    method MaterialDesignH (line 339) | MaterialDesignH(String description, String code) {
    method getDescription (line 344) | @Override
    method getCode (line 349) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignHIkonHandler.java
  class MaterialDesignHIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignHIkonProvider.java
  class MaterialDesignHIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignI.java
  type MaterialDesignI (line 25) | public enum MaterialDesignI implements Ikon {
    method findByDescription (line 191) | public static MaterialDesignI findByDescription(String description) {
    method MaterialDesignI (line 203) | MaterialDesignI(String description, String code) {
    method getDescription (line 208) | @Override
    method getCode (line 213) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignIIkonHandler.java
  class MaterialDesignIIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignIIkonProvider.java
  class MaterialDesignIIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignJ.java
  type MaterialDesignJ (line 25) | public enum MaterialDesignJ implements Ikon {
    method findByDescription (line 35) | public static MaterialDesignJ findByDescription(String description) {
    method MaterialDesignJ (line 47) | MaterialDesignJ(String description, String code) {
    method getDescription (line 52) | @Override
    method getCode (line 57) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignJIkonHandler.java
  class MaterialDesignJIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignJIkonProvider.java
  class MaterialDesignJIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignK.java
  type MaterialDesignK (line 25) | public enum MaterialDesignK implements Ikon {
    method findByDescription (line 97) | public static MaterialDesignK findByDescription(String description) {
    method MaterialDesignK (line 109) | MaterialDesignK(String description, String code) {
    method getDescription (line 114) | @Override
    method getCode (line 119) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignKIkonHandler.java
  class MaterialDesignKIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignKIkonProvider.java
  class MaterialDesignKIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignL.java
  type MaterialDesignL (line 25) | public enum MaterialDesignL implements Ikon {
    method findByDescription (line 266) | public static MaterialDesignL findByDescription(String description) {
    method MaterialDesignL (line 278) | MaterialDesignL(String description, String code) {
    method getDescription (line 283) | @Override
    method getCode (line 288) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignLIkonHandler.java
  class MaterialDesignLIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignLIkonProvider.java
  class MaterialDesignLIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignM.java
  type MaterialDesignM (line 25) | public enum MaterialDesignM implements Ikon {
    method findByDescription (line 451) | public static MaterialDesignM findByDescription(String description) {
    method MaterialDesignM (line 463) | MaterialDesignM(String description, String code) {
    method getDescription (line 468) | @Override
    method getCode (line 473) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignMIkonHandler.java
  class MaterialDesignMIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignMIkonProvider.java
  class MaterialDesignMIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignN.java
  type MaterialDesignN (line 25) | public enum MaterialDesignN implements Ikon {
    method findByDescription (line 217) | public static MaterialDesignN findByDescription(String description) {
    method MaterialDesignN (line 229) | MaterialDesignN(String description, String code) {
    method getDescription (line 234) | @Override
    method getCode (line 239) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignNIkonHandler.java
  class MaterialDesignNIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignNIkonProvider.java
  class MaterialDesignNIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignO.java
  type MaterialDesignO (line 25) | public enum MaterialDesignO implements Ikon {
    method findByDescription (line 87) | public static MaterialDesignO findByDescription(String description) {
    method MaterialDesignO (line 99) | MaterialDesignO(String description, String code) {
    method getDescription (line 104) | @Override
    method getCode (line 109) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignOIkonHandler.java
  class MaterialDesignOIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignOIkonProvider.java
  class MaterialDesignOIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignP.java
  type MaterialDesignP (line 25) | public enum MaterialDesignP implements Ikon {
    method findByDescription (line 500) | public static MaterialDesignP findByDescription(String description) {
    method MaterialDesignP (line 512) | MaterialDesignP(String description, String code) {
    method getDescription (line 517) | @Override
    method getCode (line 522) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignPIkonHandler.java
  class MaterialDesignPIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignPIkonProvider.java
  class MaterialDesignPIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignQ.java
  type MaterialDesignQ (line 25) | public enum MaterialDesignQ implements Ikon {
    method findByDescription (line 41) | public static MaterialDesignQ findByDescription(String description) {
    method MaterialDesignQ (line 53) | MaterialDesignQ(String description, String code) {
    method getDescription (line 58) | @Override
    method getCode (line 63) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignQIkonHandler.java
  class MaterialDesignQIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignQIkonProvider.java
  class MaterialDesignQIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignR.java
  type MaterialDesignR (line 25) | public enum MaterialDesignR implements Ikon {
    method findByDescription (line 292) | public static MaterialDesignR findByDescription(String description) {
    method MaterialDesignR (line 304) | MaterialDesignR(String description, String code) {
    method getDescription (line 309) | @Override
    method getCode (line 314) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignRIkonHandler.java
  class MaterialDesignRIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignRIkonProvider.java
  class MaterialDesignRIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignS.java
  type MaterialDesignS (line 25) | public enum MaterialDesignS implements Ikon {
    method findByDescription (line 724) | public static MaterialDesignS findByDescription(String description) {
    method MaterialDesignS (line 736) | MaterialDesignS(String description, String code) {
    method getDescription (line 741) | @Override
    method getCode (line 746) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignSIkonHandler.java
  class MaterialDesignSIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignSIkonProvider.java
  class MaterialDesignSIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignT.java
  type MaterialDesignT (line 25) | public enum MaterialDesignT implements Ikon {
    method findByDescription (line 506) | public static MaterialDesignT findByDescription(String description) {
    method MaterialDesignT (line 518) | MaterialDesignT(String description, String code) {
    method getDescription (line 523) | @Override
    method getCode (line 528) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignTIkonHandler.java
  class MaterialDesignTIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignTIkonProvider.java
  class MaterialDesignTIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignU.java
  type MaterialDesignU (line 25) | public enum MaterialDesignU implements Ikon {
    method findByDescription (line 74) | public static MaterialDesignU findByDescription(String description) {
    method MaterialDesignU (line 86) | MaterialDesignU(String description, String code) {
    method getDescription (line 91) | @Override
    method getCode (line 96) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignUIkonHandler.java
  class MaterialDesignUIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignUIkonProvider.java
  class MaterialDesignUIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignV.java
  type MaterialDesignV (line 25) | public enum MaterialDesignV implements Ikon {
    method findByDescription (line 186) | public static MaterialDesignV findByDescription(String description) {
    method MaterialDesignV (line 198) | MaterialDesignV(String description, String code) {
    method getDescription (line 203) | @Override
    method getCode (line 208) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignVIkonHandler.java
  class MaterialDesignVIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignVIkonProvider.java
  class MaterialDesignVIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignW.java
  type MaterialDesignW (line 25) | public enum MaterialDesignW implements Ikon {
    method findByDescription (line 259) | public static MaterialDesignW findByDescription(String description) {
    method MaterialDesignW (line 271) | MaterialDesignW(String description, String code) {
    method getDescription (line 276) | @Override
    method getCode (line 281) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignWIkonHandler.java
  class MaterialDesignWIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignWIkonProvider.java
  class MaterialDesignWIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 30) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignX.java
  type MaterialDesignX (line 25) | public enum MaterialDesignX implements Ikon {
    method findByDescription (line 30) | public static MaterialDesignX findByDescription(String description) {
    method MaterialDesignX (line 42) | MaterialDesignX(String description, String code) {
    method getDescription (line 47) | @Override
    method getCode (line 52) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignXIkonHandler.java
  class MaterialDesignXIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignXIkonProvider.java
  class MaterialDesignXIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignY.java
  type MaterialDesignY (line 25) | public enum MaterialDesignY implements Ikon {
    method findByDescription (line 37) | public static MaterialDesignY findByDescription(String description) {
    method MaterialDesignY (line 49) | MaterialDesignY(String description, String code) {
    method getDescription (line 54) | @Override
    method getCode (line 59) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignYIkonHandler.java
  class MaterialDesignYIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignYIkonProvider.java
  class MaterialDesignYIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignZ.java
  type MaterialDesignZ (line 25) | public enum MaterialDesignZ implements Ikon {
    method findByDescription (line 45) | public static MaterialDesignZ findByDescription(String description) {
    method MaterialDesignZ (line 57) | MaterialDesignZ(String description, String code) {
    method getDescription (line 62) | @Override
    method getCode (line 67) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignZIkonHandler.java
  class MaterialDesignZIkonHandler (line 28) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 31) | @Override
    method resolve (line 36) | @Override

FILE: icon-packs/ikonli-materialdesign2-pack/src/main/java/org/kordamp/ikonli/materialdesign2/MaterialDesignZIkonProvider.java
  class MaterialDesignZIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-medicons-pack/src/main/java/org/kordamp/ikonli/medicons/Medicons.java
  type Medicons (line 25) | public enum Medicons implements Ikon {
    method findByDescription (line 171) | public static Medicons findByDescription(String description) {
    method Medicons (line 183) | Medicons(String description, int code) {
    method getDescription (line 188) | @Override
    method getCode (line 193) | @Override

FILE: icon-packs/ikonli-medicons-pack/src/main/java/org/kordamp/ikonli/medicons/MediconsIkonHandler.java
  class MediconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-medicons-pack/src/main/java/org/kordamp/ikonli/medicons/MediconsIkonProvider.java
  class MediconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-metrizeicons-pack/src/main/java/org/kordamp/ikonli/metrizeicons/MetrizeIcons.java
  type MetrizeIcons (line 25) | public enum MetrizeIcons implements Ikon {
    method findByDescription (line 328) | public static MetrizeIcons findByDescription(String description) {
    method MetrizeIcons (line 340) | MetrizeIcons(String description, int code) {
    method getDescription (line 345) | @Override
    method getCode (line 350) | @Override

FILE: icon-packs/ikonli-metrizeicons-pack/src/main/java/org/kordamp/ikonli/metrizeicons/MetrizeIconsIkonHandler.java
  class MetrizeIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-metrizeicons-pack/src/main/java/org/kordamp/ikonli/metrizeicons/MetrizeIconsIkonProvider.java
  class MetrizeIconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-microns-pack/src/main/java/org/kordamp/ikonli/microns/Microns.java
  type Microns (line 25) | public enum Microns implements Ikon {
    method findByDescription (line 135) | public static Microns findByDescription(String description) {
    method Microns (line 147) | Microns(String description, int code) {
    method getDescription (line 152) | @Override
    method getCode (line 157) | @Override

FILE: icon-packs/ikonli-microns-pack/src/main/java/org/kordamp/ikonli/microns/MicronsIkonHandler.java
  class MicronsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-microns-pack/src/main/java/org/kordamp/ikonli/microns/MicronsIkonProvider.java
  class MicronsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-ociicons-pack/src/main/java/org/kordamp/ikonli/ociicons/Ociicons.java
  type Ociicons (line 25) | public enum Ociicons implements Ikon {
    method Ociicons (line 96) | Ociicons(String description, int code) {
    method findByDescription (line 101) | public static Ociicons findByDescription(String description) {
    method getDescription (line 110) | @Override
    method getCode (line 115) | @Override

FILE: icon-packs/ikonli-ociicons-pack/src/main/java/org/kordamp/ikonli/ociicons/OciiconsIkonHandler.java
  class OciiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-ociicons-pack/src/main/java/org/kordamp/ikonli/ociicons/OciiconsIkonProvider.java
  class OciiconsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-octicons-pack/src/main/java/org/kordamp/ikonli/octicons/Octicons.java
  type Octicons (line 25) | public enum Octicons implements Ikon {
    method findByDescription (line 479) | public static Octicons findByDescription(String description) {
    method Octicons (line 491) | Octicons(String description, int code) {
    method getDescription (line 496) | @Override
    method getCode (line 501) | @Override

FILE: icon-packs/ikonli-octicons-pack/src/main/java/org/kordamp/ikonli/octicons/OcticonsIkonHandler.java
  class OcticonsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-octicons-pack/src/main/java/org/kordamp/ikonli/octicons/OcticonsIkonProvider.java
  class OcticonsIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-openiconic-pack/src/main/java/org/kordamp/ikonli/openiconic/Openiconic.java
  type Openiconic (line 25) | public enum Openiconic implements Ikon {
    method findByDescription (line 252) | public static Openiconic findByDescription(String description) {
    method Openiconic (line 264) | Openiconic(String description, int code) {
    method getDescription (line 269) | @Override
    method getCode (line 274) | @Override

FILE: icon-packs/ikonli-openiconic-pack/src/main/java/org/kordamp/ikonli/openiconic/OpeniconicIkonHandler.java
  class OpeniconicIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-openiconic-pack/src/main/java/org/kordamp/ikonli/openiconic/OpeniconicIkonProvider.java
  class OpeniconicIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-paymentfont-pack/src/main/java/org/kordamp/ikonli/paymentfont/PaymentFont.java
  type PaymentFont (line 25) | public enum PaymentFont implements Ikon {
    method findByDescription (line 144) | public static PaymentFont findByDescription(String description) {
    method PaymentFont (line 156) | PaymentFont(String description, int code) {
    method getDescription (line 161) | @Override
    method getCode (line 166) | @Override

FILE: icon-packs/ikonli-paymentfont-pack/src/main/java/org/kordamp/ikonli/paymentfont/PaymentFontIkonHandler.java
  class PaymentFontIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-paymentfont-pack/src/main/java/org/kordamp/ikonli/paymentfont/PaymentFontIkonProvider.java
  class PaymentFontIkonProvider (line 27) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 31) | @Override

FILE: icon-packs/ikonli-prestashopicons-pack/src/main/java/org/kordamp/ikonli/prestashopicons/PrestaShopIcons.java
  type PrestaShopIcons (line 25) | public enum PrestaShopIcons implements Ikon {
    method findByDescription (line 506) | public static PrestaShopIcons findByDescription(String description) {
    method PrestaShopIcons (line 518) | PrestaShopIcons(String description, int code) {
    method getDescription (line 523) | @Override
    method getCode (line 528) | @Override

FILE: icon-packs/ikonli-prestashopicons-pack/src/main/java/org/kordamp/ikonli/prestashopicons/PrestaShopIconsIkonHandler.java
  class PrestaShopIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-prestashopicons-pack/src/main/java/org/kordamp/ikonli/prestashopicons/PrestaShopIconsIkonProvider.java
  class PrestaShopIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconAL.java
  type RemixiconAL (line 25) | public enum RemixiconAL implements Ikon {
    method findByDescription (line 1275) | public static RemixiconAL findByDescription(String description) {
    method RemixiconAL (line 1287) | RemixiconAL(String description, int code) {
    method getDescription (line 1292) | @Override
    method getCode (line 1297) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconALIkonHandler.java
  class RemixiconALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconALIkonProvider.java
  class RemixiconALIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconMZ.java
  type RemixiconMZ (line 25) | public enum RemixiconMZ implements Ikon {
    method findByDescription (line 1050) | public static RemixiconMZ findByDescription(String description) {
    method RemixiconMZ (line 1062) | RemixiconMZ(String description, int code) {
    method getDescription (line 1067) | @Override
    method getCode (line 1072) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconMZIkonHandler.java
  class RemixiconMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-remixicon-pack/src/main/java/org/kordamp/ikonli/remixicon/RemixiconMZIkonProvider.java
  class RemixiconMZIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-runestroicons-pack/src/main/java/org/kordamp/ikonli/runestroicons/Runestroicons.java
  type Runestroicons (line 25) | public enum Runestroicons implements Ikon {
    method findByDescription (line 927) | public static Runestroicons findByDescription(String description) {
    method Runestroicons (line 939) | Runestroicons(String description, int code) {
    method getDescription (line 944) | @Override
    method getCode (line 949) | @Override

FILE: icon-packs/ikonli-runestroicons-pack/src/main/java/org/kordamp/ikonli/runestroicons/RunestroiconsIkonHandler.java
  class RunestroiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-runestroicons-pack/src/main/java/org/kordamp/ikonli/runestroicons/RunestroiconsIkonProvider.java
  class RunestroiconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-simpleicons-pack/src/main/java/org/kordamp/ikonli/simpleicons/SimpleIcons.java
  type SimpleIcons (line 25) | public enum SimpleIcons implements Ikon {
    method findByDescription (line 1490) | public static SimpleIcons findByDescription(String description) {
    method SimpleIcons (line 1502) | SimpleIcons(String description, int code) {
    method getDescription (line 1507) | @Override
    method getCode (line 1512) | @Override

FILE: icon-packs/ikonli-simpleicons-pack/src/main/java/org/kordamp/ikonli/simpleicons/SimpleIconsIkonHandler.java
  class SimpleIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-simpleicons-pack/src/main/java/org/kordamp/ikonli/simpleicons/SimpleIconsIkonProvider.java
  class SimpleIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-simplelineicons-pack/src/main/java/org/kordamp/ikonli/simplelineicons/SimpleLineIcons.java
  type SimpleLineIcons (line 25) | public enum SimpleLineIcons implements Ikon {
    method findByDescription (line 216) | public static SimpleLineIcons findByDescription(String description) {
    method SimpleLineIcons (line 228) | SimpleLineIcons(String description, int code) {
    method getDescription (line 233) | @Override
    method getCode (line 238) | @Override

FILE: icon-packs/ikonli-simplelineicons-pack/src/main/java/org/kordamp/ikonli/simplelineicons/SimpleLineIconsIkonHandler.java
  class SimpleLineIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-simplelineicons-pack/src/main/java/org/kordamp/ikonli/simplelineicons/SimpleLineIconsIkonProvider.java
  class SimpleLineIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-subway-pack/src/main/java/org/kordamp/ikonli/subway/Subway.java
  type Subway (line 25) | public enum Subway implements Ikon {
    method findByDescription (line 333) | public static Subway findByDescription(String description) {
    method Subway (line 345) | Subway(String description, int code) {
    method getDescription (line 350) | @Override
    method getCode (line 355) | @Override

FILE: icon-packs/ikonli-subway-pack/src/main/java/org/kordamp/ikonli/subway/SubwayIkonHandler.java
  class SubwayIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-subway-pack/src/main/java/org/kordamp/ikonli/subway/SubwayIkonProvider.java
  class SubwayIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-themify-pack/src/main/java/org/kordamp/ikonli/themify/Themify.java
  type Themify (line 25) | public enum Themify implements Ikon {
    method findByDescription (line 380) | public static Themify findByDescription(String description) {
    method Themify (line 392) | Themify(String description, int code) {
    method getDescription (line 397) | @Override
    method getCode (line 402) | @Override

FILE: icon-packs/ikonli-themify-pack/src/main/java/org/kordamp/ikonli/themify/ThemifyIkonHandler.java
  class ThemifyIkonHandler (line 46) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 51) | @Override
    method resolve (line 56) | @Override
    method getFontResource (line 61) | @Override
    method getFontResourceAsStream (line 66) | @Override
    method getFontFamily (line 71) | @Override

FILE: icon-packs/ikonli-themify-pack/src/main/java/org/kordamp/ikonli/themify/ThemifyIkonProvider.java
  class ThemifyIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-typicons-pack/src/main/java/org/kordamp/ikonli/typicons/Typicons.java
  type Typicons (line 25) | public enum Typicons implements Ikon {
    method findByDescription (line 364) | public static Typicons findByDescription(String description) {
    method Typicons (line 376) | Typicons(String description, int code) {
    method getDescription (line 381) | @Override
    method getCode (line 386) | @Override

FILE: icon-packs/ikonli-typicons-pack/src/main/java/org/kordamp/ikonli/typicons/TypiconsIkonHandler.java
  class TypiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-typicons-pack/src/main/java/org/kordamp/ikonli/typicons/TypiconsIkonProvider.java
  class TypiconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsLine.java
  type UniconsLine (line 25) | public enum UniconsLine implements Ikon {
    method findByDescription (line 1213) | public static UniconsLine findByDescription(String description) {
    method UniconsLine (line 1225) | UniconsLine(String description, int code) {
    method getDescription (line 1230) | @Override
    method getCode (line 1235) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsLineIkonHandler.java
  class UniconsLineIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsLineIkonProvider.java
  class UniconsLineIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsMonochrome.java
  type UniconsMonochrome (line 25) | public enum UniconsMonochrome implements Ikon {
    method findByDescription (line 311) | public static UniconsMonochrome findByDescription(String description) {
    method UniconsMonochrome (line 323) | UniconsMonochrome(String description, int code) {
    method getDescription (line 328) | @Override
    method getCode (line 333) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsMonochromeIkonHandler.java
  class UniconsMonochromeIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsMonochromeIkonProvider.java
  class UniconsMonochromeIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsSolid.java
  type UniconsSolid (line 25) | public enum UniconsSolid implements Ikon {
    method findByDescription (line 216) | public static UniconsSolid findByDescription(String description) {
    method UniconsSolid (line 228) | UniconsSolid(String description, int code) {
    method getDescription (line 233) | @Override
    method getCode (line 238) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsSolidIkonHandler.java
  class UniconsSolidIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-unicons-pack/src/main/java/org/kordamp/ikonli/unicons/UniconsSolidIkonProvider.java
  class UniconsSolidIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-weathericons-pack/src/main/java/org/kordamp/ikonli/weathericons/WeatherIcons.java
  type WeatherIcons (line 25) | public enum WeatherIcons implements Ikon {
    method findByDescription (line 275) | public static WeatherIcons findByDescription(String description) {
    method WeatherIcons (line 287) | WeatherIcons(String description, int code) {
    method getDescription (line 292) | @Override
    method getCode (line 297) | @Override

FILE: icon-packs/ikonli-weathericons-pack/src/main/java/org/kordamp/ikonli/weathericons/WeatherIconsIkonHandler.java
  class WeatherIconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-weathericons-pack/src/main/java/org/kordamp/ikonli/weathericons/WeatherIconsIkonProvider.java
  class WeatherIconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-websymbols-pack/src/main/java/org/kordamp/ikonli/websymbols/Websymbols.java
  type Websymbols (line 25) | public enum Websymbols implements Ikon {
    method findByDescription (line 193) | public static Websymbols findByDescription(String description) {
    method Websymbols (line 205) | Websymbols(String description, int code) {
    method getDescription (line 210) | @Override
    method getCode (line 215) | @Override

FILE: icon-packs/ikonli-websymbols-pack/src/main/java/org/kordamp/ikonli/websymbols/WebsymbolsIkonHandler.java
  class WebsymbolsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-websymbols-pack/src/main/java/org/kordamp/ikonli/websymbols/WebsymbolsIkonProvider.java
  class WebsymbolsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgAL.java
  type WhhgAL (line 25) | public enum WhhgAL implements Ikon {
    method findByDescription (line 1053) | public static WhhgAL findByDescription(String description) {
    method WhhgAL (line 1065) | WhhgAL(String description, int code) {
    method getDescription (line 1070) | @Override
    method getCode (line 1075) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgALIkonHandler.java
  class WhhgALIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgALIkonProvider.java
  class WhhgALIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgMZ.java
  type WhhgMZ (line 25) | public enum WhhgMZ implements Ikon {
    method findByDescription (line 1076) | public static WhhgMZ findByDescription(String description) {
    method WhhgMZ (line 1088) | WhhgMZ(String description, int code) {
    method getDescription (line 1093) | @Override
    method getCode (line 1098) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgMZIkonHandler.java
  class WhhgMZIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-whhg-pack/src/main/java/org/kordamp/ikonli/whhg/WhhgMZIkonProvider.java
  class WhhgMZIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 28) | @Override

FILE: icon-packs/ikonli-win10-pack/src/main/java/org/kordamp/ikonli/win10/Win10.java
  type Win10 (line 25) | public enum Win10 implements Ikon {
    method findByDescription (line 261) | public static Win10 findByDescription(String description) {
    method Win10 (line 273) | Win10(String description, int code) {
    method getDescription (line 278) | @Override
    method getCode (line 283) | @Override

FILE: icon-packs/ikonli-win10-pack/src/main/java/org/kordamp/ikonli/win10/Win10IkonHandler.java
  class Win10IkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-win10-pack/src/main/java/org/kordamp/ikonli/win10/Win10IkonProvider.java
  class Win10IkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: icon-packs/ikonli-zondicons-pack/src/main/java/org/kordamp/ikonli/zondicons/Zondicons.java
  type Zondicons (line 25) | public enum Zondicons implements Ikon {
    method findByDescription (line 325) | public static Zondicons findByDescription(String description) {
    method Zondicons (line 337) | Zondicons(String description, int code) {
    method getDescription (line 342) | @Override
    method getCode (line 347) | @Override

FILE: icon-packs/ikonli-zondicons-pack/src/main/java/org/kordamp/ikonli/zondicons/ZondiconsIkonHandler.java
  class ZondiconsIkonHandler (line 32) | @ServiceProviderFor(IkonHandler.class)
    method supports (line 37) | @Override
    method resolve (line 42) | @Override
    method getFontResource (line 47) | @Override
    method getFontResourceAsStream (line 52) | @Override
    method getFontFamily (line 57) | @Override

FILE: icon-packs/ikonli-zondicons-pack/src/main/java/org/kordamp/ikonli/zondicons/ZondiconsIkonProvider.java
  class ZondiconsIkonProvider (line 25) | @org.kordamp.jipsy.annotations.ServiceProviderFor(IkonProvider.class)
    method getIkon (line 29) | @Override

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/AbstractCompositeGeneratorProcessor.java
  class AbstractCompositeGeneratorProcessor (line 29) | abstract class AbstractCompositeGeneratorProcessor extends AbstractNativ...
    method process (line 32) | @Override

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/AbstractGenerator.java
  class AbstractGenerator (line 35) | abstract class AbstractGenerator implements Generator {
    method AbstractGenerator (line 41) | protected AbstractGenerator(String fileName, String disableKey) {
    method generate (line 46) | @Override
    method generateConfig (line 65) | protected abstract String generateConfig(Context context);
    method enabled (line 67) | protected boolean enabled(Context context) {
    method fileName (line 72) | protected String fileName() {
    method createRelativePath (line 76) | protected String createRelativePath(Context context, String fileName) {
    method logInfo (line 87) | protected void logInfo(Context context, String msg) {
    method fatalError (line 93) | protected void fatalError(Context context, String msg) {
    method elementTypeName (line 97) | protected String elementTypeName(TypeMirror typeMirror) {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/AbstractNativeImageProcessor.java
  class AbstractNativeImageProcessor (line 36) | abstract class AbstractNativeImageProcessor extends AbstractProcessor {
    method getSupportedSourceVersion (line 37) | @Override
    method process (line 47) | @Override
    method process (line 77) | protected abstract void process(Context context);
    method fatalError (line 79) | protected void fatalError(String msg) {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/Constants.java
  type Constants (line 24) | public interface Constants {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/Context.java
  class Context (line 31) | class Context {
    method Context (line 36) | public Context(ProcessingEnvironment processingEnv, RoundEnvironment r...
    method getProcessingEnv (line 42) | public ProcessingEnvironment getProcessingEnv() {
    method getRoundEnv (line 46) | public RoundEnvironment getRoundEnv() {
    method getElements (line 50) | public Set<Element> getElements() {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/Generator.java
  type Generator (line 24) | public interface Generator {
    method generate (line 25) | void generate(Context context);

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/ProcessorUtil.java
  class ProcessorUtil (line 32) | public final class ProcessorUtil {
    method ProcessorUtil (line 33) | private ProcessorUtil() {
    method generate (line 37) | static void generate(Location location, String fileName, String conten...
    method write (line 49) | static void write(String text, FileObject resource) throws IOException {
    method stacktrace (line 62) | public static String stacktrace(Exception e) {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/ProxyConfigGenerator.java
  class ProxyConfigGenerator (line 32) | class ProxyConfigGenerator extends AbstractGenerator {
    method ProxyConfigGenerator (line 35) | public ProxyConfigGenerator() {
    method generateConfig (line 39) | @Override

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/ProxyConfigProcessor.java
  class ProxyConfigProcessor (line 31) | @SupportedOptions({Constants.OPTION_PROJECT_PATH,
    method init (line 37) | @Override

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/ReflectConfigGenerator.java
  class ReflectConfigGenerator (line 28) | class ReflectConfigGenerator extends AbstractGenerator {
    method ReflectConfigGenerator (line 31) | public ReflectConfigGenerator() {
    method generateConfig (line 35) | @Override
    method formatInterface (line 63) | private String formatInterface(String name) {
    method formatEnum (line 71) | private String formatEnum(String name) {
    method formatClass (line 80) | private String formatClass(String name) {

FILE: infra/ikonli-nativeimage-processor/src/main/java/org/kordamp/ikonli/infra/nativeimage/processor/ReflectConfigProcessor.java
  class ReflectConfigProcessor (line 31) | @SupportedOptions({Constants.OPTION_PROJECT_PATH,
    method init (line 37) | @Override
Condensed preview — 728 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (8,749K chars).
[
  {
    "path": ".bach/bach.info/module-info.java",
    "chars": 941,
    "preview": "import com.github.sormuras.bach.api.ProjectInfo;\nimport com.github.sormuras.bach.api.ProjectInfo.Tool;\nimport com.github"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 84,
    "preview": "patreon: aalmiray\ngithub: aalmiray\ntidelift: \"maven/org.kordamp.ikonli:ikonli-core\"\n"
  },
  {
    "path": ".github/workflows/build.yml",
    "chars": 539,
    "preview": "name: Build\n\non:\n  pull_request:\n\njobs:\n  build:\n    name: Build\n    strategy:\n      fail-fast: false\n      matrix:\n    "
  },
  {
    "path": ".github/workflows/early-access.yml",
    "chars": 3129,
    "preview": "name: EarlyAccess\n\non:\n  push:\n    branches: [ master ]\n\njobs:\n  precheck:\n    name: Precheck\n    if: startsWith(github."
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 4423,
    "preview": "name: Release\n\non:\n  workflow_dispatch:\n    inputs:\n      version:\n        description: 'Release version'\n        requir"
  },
  {
    "path": ".gitignore",
    "chars": 180,
    "preview": ".gradle\n*.iml\n*.ipr\n*.iws\n.idea\nbuild\nout\ntarget\n.classpath\n.project\n.gen-changelog.sh\n.tmp\n.DS_Store\njdks\n.bach/workspa"
  },
  {
    "path": "LICENSE",
    "chars": 10174,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "README.adoc",
    "chars": 3000,
    "preview": "= Ikonli\n:linkattrs:\n:project-owner:   kordamp\n:project-repo:    maven\n:project-name:    ikonli\n:project-group:   org.ko"
  },
  {
    "path": "SECURITY.md",
    "chars": 193,
    "preview": "## Security contact information\n\nTo report a security vulnerability, please use the\n[Tidelift security contact](https://"
  },
  {
    "path": "VERSION",
    "chars": 16,
    "preview": "12.5.0-SNAPSHOT\n"
  },
  {
    "path": "apps/ikonli-browser/ikonli-browser.gradle",
    "chars": 8150,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/eu/hansolo/tilesfx/tools/FlowGridPane.java",
    "chars": 7741,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2016-2020 Gerrit Grunwald.\n *\n * Licensed under the Apache Lic"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/module-info.java",
    "chars": 3631,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/AboutDialog.java",
    "chars": 1535,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonBrowser.java",
    "chars": 6796,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonInternalWindow.java",
    "chars": 5396,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/IkonPickerDialog.java",
    "chars": 5959,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Launcher.java",
    "chars": 1311,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/SearchInternalWindow.java",
    "chars": 14008,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/Versions.java",
    "chars": 974,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/java/org/kordamp/ikonli/browser/internal/JavaFXThreadProxyObservableList.java",
    "chars": 1687,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/browser.css",
    "chars": 1093,
    "preview": ".desktoppane,\n.internal-window-content {\n    -fx-background-color: white;\n    -fx-border-color: darkgrey;\n    -fx-border"
  },
  {
    "path": "apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/common.css",
    "chars": 140,
    "preview": ".dialog-content {\n    -fx-background-color: white;\n    -fx-border-color: darkgrey;\n    -fx-border-width: 1px;\n    -fx-bo"
  },
  {
    "path": "apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/ikon-window.css",
    "chars": 109,
    "preview": ".font-icon {\n    -fx-icon-size: 48px;\n    -fx-icon-color: black;\n}\n\n.active-icon {\n    -fx-icon-color: red;\n}"
  },
  {
    "path": "apps/ikonli-browser/src/main/resources/org/kordamp/ikonli/browser/versions.properties",
    "chars": 660,
    "preview": "#\n# SPDX-License-Identifier: Apache-2.0\n#\n# Copyright 2015-2025 Andres Almiray\n#\n# Licensed under the Apache License, Ve"
  },
  {
    "path": "apps/sampler-javafx/sampler-javafx.gradle",
    "chars": 4472,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/sampler-javafx/src/main/java/module-info.java",
    "chars": 1009,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/sampler-javafx/src/main/java/org/kordamp/ikonli/sampler/javafx/Sampler.java",
    "chars": 3320,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/sampler-javafx/src/main/resources/org/kordamp/ikonli/sampler/javafx/sampler.css",
    "chars": 39,
    "preview": ".font-icon {\n    -fx-icon-size: 48px;\n}"
  },
  {
    "path": "apps/sampler-javafx/src/main/resources/org/kordamp/ikonli/sampler/javafx/sampler.fxml",
    "chars": 2853,
    "preview": "<!--\n\n    SPDX-License-Identifier: Apache-2.0\n\n    Copyright 2015-2025 Andres Almiray\n\n    Licensed under the Apache Lic"
  },
  {
    "path": "apps/sampler-swing/sampler-swing.gradle",
    "chars": 4049,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/sampler-swing/src/main/java/module-info.java",
    "chars": 921,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "apps/sampler-swing/src/main/java/org/kordamp/ikonli/sampler/swing/Sampler.java",
    "chars": 2668,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "bach.args",
    "chars": 363,
    "preview": "--external-library-version\n  sormuras-modules=2021.06.06\n--external-library-version\n  javafx=11\n--limit-tool\n  javac,jar"
  },
  {
    "path": "build.gradle",
    "chars": 7450,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "buildSrc/build.gradle",
    "chars": 696,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "buildSrc/src/main/groovy/org/kordamp/ikonli/gradle/NativeImageResourceGeneratorTask.groovy",
    "chars": 2164,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-bom/ikonli-bom.gradle",
    "chars": 842,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/ikonli-core.gradle",
    "chars": 807,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/module-info.java",
    "chars": 1186,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonHandler.java",
    "chars": 931,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/AbstractIkonResolver.java",
    "chars": 3956,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/DefaultIkonResolver.java",
    "chars": 1678,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/FontLoader.java",
    "chars": 748,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikon.java",
    "chars": 782,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonHandler.java",
    "chars": 1027,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonProvider.java",
    "chars": 787,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolver.java",
    "chars": 852,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonResolverProvider.java",
    "chars": 2825,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/Ikonli.java",
    "chars": 1439,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonProvider.java",
    "chars": 1073,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/IkonliIkonResolver.java",
    "chars": 1705,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-core/src/main/java/org/kordamp/ikonli/OSGiIkonResolver.java",
    "chars": 1671,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/ikonli-javafx.gradle",
    "chars": 1529,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/module-info.java",
    "chars": 987,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIcon.java",
    "chars": 12901,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconConverter.java",
    "chars": 2578,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/FontIconTableCell.java",
    "chars": 4093,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/Icon.java",
    "chars": 1122,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/JavaFXFontLoader.java",
    "chars": 1425,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/src/main/java/org/kordamp/ikonli/javafx/StackedFontIcon.java",
    "chars": 12817,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-javafx/tmp/FontIconTest.java",
    "chars": 1407,
    "preview": "/*\n * Copyright 2015-2018 Andres Almiray\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you ma"
  },
  {
    "path": "core/ikonli-javafx/tmp/PaintConverter.java",
    "chars": 1764,
    "preview": "package org.kordamp.ikonli.javafx.converters;\n\nimport javafx.css.ParsedValue;\nimport javafx.css.StyleConverter;\nimport j"
  },
  {
    "path": "core/ikonli-javafx/tmp/SVGGlyphRegistry.java",
    "chars": 2718,
    "preview": "package org.kordamp.ikonli.javafx;\n\nimport org.kordamp.ikonli.Ikon;\nimport org.kordamp.ikonli.IkonHandler;\nimport org.w3"
  },
  {
    "path": "core/ikonli-javafx/tmp/SVGIcon.java",
    "chars": 9878,
    "preview": "package org.kordamp.ikonli.javafx;\n\nimport com.sun.javafx.css.converters.PaintConverter;\nimport com.sun.javafx.css.conve"
  },
  {
    "path": "core/ikonli-javafx/tmp/SVGIconConverter.java",
    "chars": 3153,
    "preview": "/*\n * Copyright 2015-2016 Andres Almiray. <aalmiray@yahoo.com>\n *\n * This file is part of Ikonli\n *\n * Ikonli is free so"
  },
  {
    "path": "core/ikonli-javafx/tmp/StackedFontIcon.java",
    "chars": 11452,
    "preview": "package org.kordamp.ikonli.javafx;\n\nimport com.sun.javafx.css.converters.PaintConverter;\nimport com.sun.javafx.css.conve"
  },
  {
    "path": "core/ikonli-swing/ikonli-swing.gradle",
    "chars": 693,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-swing/src/main/java/module-info.java",
    "chars": 926,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-swing/src/main/java/org/kordamp/ikonli/swing/FontIcon.java",
    "chars": 5079,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "core/ikonli-swing/src/main/java/org/kordamp/ikonli/swing/SwingFontLoader.java",
    "chars": 2127,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "docs/guide/guide.gradle",
    "chars": 30475,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/authoring.adoc",
    "chars": 4719,
    "preview": "\n[[_authoring]]\n= Authoring\n\nFollow these steps to create and register custom icons.\n\n== Define an Ikon class\n\nCreate an"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-antdesignicons.adoc",
    "chars": 593,
    "preview": "= AntDesignIcons\n\nUse the indicated enum type for each set.\n\n== Filled (AntDesignIconsFilled)\n\n++++\n<link href='./antdes"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-bootstrapicons.adoc",
    "chars": 234,
    "preview": "= BootstrapIcons\n\n++++\n<link href='./bootstrapicons/css/bootstrap-icons.css' rel='stylesheet'>\n<style>\n    .bi {\n       "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-boxicons.adoc",
    "chars": 511,
    "preview": "= Boxicons\n\nUse the indicated enum type for each set.\n\n== Logos (BoxiconsLogos)\n\n++++\n<link href='./boxicons/css/boxicon"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-bpmn.adoc",
    "chars": 195,
    "preview": "= Bpmn\n\n++++\n<link href='./bpmn/css/bpmn.css' rel='stylesheet'>\n<style>\n    .bpmn {\n        font-size: 32px;\n    }\n</sty"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-bytedance.adoc",
    "chars": 1589,
    "preview": "= BytedanceIcons\n\nUse the indicated enum type for each set.\n\n++++\n<link href='./bytedance/css/bytedance-iconpack-thin.cs"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-captainicon.adoc",
    "chars": 230,
    "preview": "= Captainicon\n\n++++\n<link href='./captainicon/css/captainicon.css' rel='stylesheet'>\n<style>\n    .captainicon {\n        "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-carbonicons.adoc",
    "chars": 221,
    "preview": "= CarbonIcons\n\n++++\n<link href='./carbonicons/css/carbonicons.css' rel='stylesheet'>\n<style>\n    .ci {\n        font-size"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-codicons.adoc",
    "chars": 213,
    "preview": "= Codicons\n\n++++\n<link href='./codicons/css/codicon.css' rel='stylesheet'>\n<style>\n    .codicon {\n        font-size: 32p"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-coreui.adoc",
    "chars": 508,
    "preview": "= CoreUI\n\nUse the indicated enum type for each set.\n\n== Brands (CoreUIBrands)\n\n++++\n<link href='./coreui/css/coreui-bran"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-dashicons.adoc",
    "chars": 220,
    "preview": "= Dashicons\n\n++++\n<link href='./dashicons/css/dashicons.css' rel='stylesheet'>\n<style>\n    .dashicons {\n        font-siz"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-devicons.adoc",
    "chars": 219,
    "preview": "= Devicons\n\n++++\n<link href='./devicons/css/devicons.min.css' rel='stylesheet'>\n<style>\n    .devicons {\n        font-siz"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-elusive.adoc",
    "chars": 218,
    "preview": "= Elusive\n\n++++\n<link href='./elusive/css/elusive-webfont.css' rel='stylesheet'>\n<style>\n    .el-icon {\n        font-siz"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-entypo.adoc",
    "chars": 203,
    "preview": "= Entypo\n\n++++\n<link href='./entypo/css/entypo.css' rel='stylesheet'>\n<style>\n    .enty {\n        font-size: 32px;\n    }"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-evaicons.adoc",
    "chars": 210,
    "preview": "= Evaicons\n\n++++\n<link href='./evaicons/css/evaicons.css' rel='stylesheet'>\n<style>\n    .eva {\n        font-size: 32px;\n"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-feather.adoc",
    "chars": 206,
    "preview": "= Feather\n\n++++\n<link href='./feather/css/feather.css' rel='stylesheet'>\n<style>\n    .fth {\n        font-size: 32px;\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fileicons.adoc",
    "chars": 215,
    "preview": "= Fileicons\n\n++++\n<link href='./fileicons/css/fileicons.css' rel='stylesheet'>\n<style>\n    .file {\n        font-size: 32"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fluentui.adoc",
    "chars": 822,
    "preview": "= FluentUI\n\nUse the indicated enum type for each set.\n\n++++\n<link href='./fluentui/css/FluentSystemIcons-Filled.css' rel"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fontawesome.adoc",
    "chars": 226,
    "preview": "= Fontawesome\n\n++++\n<link href='./fontawesome/css/font-awesome.min.css' rel='stylesheet'>\n<style>\n    .fa {\n        font"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fontawesome5.adoc",
    "chars": 960,
    "preview": "= Fontawesome5\n\nUse the indicated enum type for each set.\n\n== Brands (FontAwesomeBrands)\n\n++++\n<link href='./fontawesome"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fontawesome6.adoc",
    "chars": 927,
    "preview": "= Fontawesome6\n\nUse the indicated enum type for each set.\n\n== Brands (FontAwesomeBrands)\n\n++++\n<link href='./fontawesome"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-fontelico.adoc",
    "chars": 220,
    "preview": "= Fontelico\n\n++++\n<link href='./fontelico/css/fontelico.css' rel='stylesheet'>\n<style>\n    .fontelico {\n        font-siz"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-foundation.adoc",
    "chars": 231,
    "preview": "= Foundation\n\n++++\n<link href='./foundation/css/foundation-icons.css' rel='stylesheet'>\n<style>\n    .foundation {\n      "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-hawcons.adoc",
    "chars": 522,
    "preview": "= Hawcons\n\nUse the indicated enum type for each set.\n\n== Filled (HawconsFilled)\n++++\n<link href='./hawcons/css/hawconsfi"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-icomoon.adoc",
    "chars": 206,
    "preview": "= Icomoon\n\n++++\n<link href='./icomoon/css/icomoon.css' rel='stylesheet'>\n<style>\n    .icm {\n        font-size: 32px;\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-ionicons.adoc",
    "chars": 210,
    "preview": "= Ionicons\n\n++++\n<link href='./ionicons/css/ionicons.css' rel='stylesheet'>\n<style>\n    .ion {\n        font-size: 32px;\n"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-ionicons4.adoc",
    "chars": 697,
    "preview": "= Ionicons4\n\n== IOS\n\n++++\n<link href='./ionicons4/css/ionicons4.css' rel='stylesheet'>\n<style>\n    .ion, .ionicons {\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-jamicons.adoc",
    "chars": 200,
    "preview": "= Jam\n\n++++\n<link href='./jamicons/css/jam.css' rel='stylesheet'>\n<style>\n    .jam {\n        font-size: 32px;\n    }\n</st"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-ligaturesymbols.adoc",
    "chars": 239,
    "preview": "= Ligature Symbols\n\n++++\n<link href='./ligaturesymbols/css/ligaturesymbols.css' rel='stylesheet'>\n<style>\n    .lsf {\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-lineawesome.adoc",
    "chars": 951,
    "preview": "= Lineawesome\n\nUse the indicated enum type for each set.\n\n== Brands (LineAwesomeBrands)\n\n++++\n<link href='./lineawesome/"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-linecons.adoc",
    "chars": 209,
    "preview": "= Linecons\n\n++++\n<link href='./linecons/css/linecons.css' rel='stylesheet'>\n<style>\n    .li {\n        font-size: 32px;\n "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-maki.adoc",
    "chars": 195,
    "preview": "= Maki\n\n++++\n<link href='./maki/css/maki.css' rel='stylesheet'>\n<style>\n    .maki {\n        font-size: 32px;\n    }\n</sty"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-maki2.adoc",
    "chars": 200,
    "preview": "= Maki2\n\n++++\n<link href='./maki2/css/maki2.css' rel='stylesheet'>\n<style>\n    .maki2 {\n        font-size: 32px;\n    }\n<"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-mapicons.adoc",
    "chars": 216,
    "preview": "= Mapicons\n\n++++\n<link href='./mapicons/css/map-icons.css' rel='stylesheet'>\n<style>\n    .map-icon {\n        font-size: "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-material.adoc",
    "chars": 223,
    "preview": "= Material Icons\n\n++++\n<link href='./_material/css/material-icons.css' rel='stylesheet'>\n<style>\n    .gmi {\n        font"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-material2.adoc",
    "chars": 1487,
    "preview": "= Material2\n\nUse the indicated enum type for each set.\n\n++++\n<link href='./material2/css/md-baseline.css' rel='styleshee"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-materialdesign.adoc",
    "chars": 246,
    "preview": "= Material Design Icons\n\n++++\n<link href='./materialdesign/css/materialdesignicons.css' rel='stylesheet'>\n<style>\n    .m"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-materialdesign2.adoc",
    "chars": 2895,
    "preview": "= Material Design Icons (Latest)\n\nUse the indicated enum type for each set.\n\n++++\n<link href='./materialdesign2/css/mate"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-medicons.adoc",
    "chars": 214,
    "preview": "= Medicons\n\n++++\n<link href='./medicons/css/medicons.css' rel='stylesheet'>\n<style>\n    .medicon {\n        font-size: 32"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-metrizeicons.adoc",
    "chars": 226,
    "preview": "= Metrizeicons\n\n++++\n<link href='./metrizeicons/css/metrizeicons.css' rel='stylesheet'>\n<style>\n    .met {\n        font-"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-microns.adoc",
    "chars": 206,
    "preview": "= Microns\n\n++++\n<link href='./microns_/css/microns.css' rel='stylesheet'>\n<style>\n    .mu {\n        font-size: 32px;\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-ociicons.adoc",
    "chars": 210,
    "preview": "= Ociicons\n\n++++\n<link href='./ociicons/css/ociicons.css' rel='stylesheet'>\n<style>\n    .oci {\n        font-size: 32px;\n"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-octicons.adoc",
    "chars": 214,
    "preview": "= Octicons\n\n++++\n<link href='./octicons/css/octicons.css' rel='stylesheet'>\n<style>\n    .octicon {\n        font-size: 32"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-openiconic.adoc",
    "chars": 218,
    "preview": "= Openiconic\n\n++++\n<link href='./openiconic/css/open-iconic.css' rel='stylesheet'>\n<style>\n    .oi {\n        font-size: "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-paymentfont.adoc",
    "chars": 225,
    "preview": "= PaymentFont\n\n++++\n<link href='./paymentfont/css/paymentfont.min.css' rel='stylesheet'>\n<style>\n    .pf {\n        font-"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-prestashopicons.adoc",
    "chars": 237,
    "preview": "= PrestaShopIcons\n\n++++\n<link href='./prestashopicons/css/prestashopicons.css' rel='stylesheet'>\n<style>\n    .ps {\n     "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-remixicon.adoc",
    "chars": 379,
    "preview": "= Remixicon\n\n++++\n<link href='./remixicon/css/remixicon.css' rel='stylesheet'>\n<style>\n    .remix {\n        font-size: 3"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-runestroicons.adoc",
    "chars": 229,
    "preview": "= Runestroicons\n\n++++\n<link href='./runestroicons/css/runestroicons.css' rel='stylesheet'>\n<style>\n    .ri {\n        fon"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-simpleicons.adoc",
    "chars": 221,
    "preview": "= SimpleIcons\n\n++++\n<link href='./simpleicons/css/simpleicons.css' rel='stylesheet'>\n<style>\n    .si {\n        font-size"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-simplelineicons.adoc",
    "chars": 240,
    "preview": "= SimpleLineIcons\n\n++++\n<link href='./simplelineicons/css/simple-line-icons.css' rel='stylesheet'>\n<style>\n    .sil {\n  "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-subway.adoc",
    "chars": 205,
    "preview": "= Subway\n\n++++\n<link href='./subway/css/subway.css' rel='stylesheet'>\n<style>\n    .subway {\n        font-size: 32px;\n   "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-themify.adoc",
    "chars": 215,
    "preview": "= Themify\n\n++++\n<link href='./themify/css/themify-icons.min.css' rel='stylesheet'>\n<style>\n    .ti {\n        font-size: "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-typicons.adoc",
    "chars": 216,
    "preview": "= Typicons\n\n++++\n<link href='./typicons/css/typicons.min.css' rel='stylesheet'>\n<style>\n    .typcn {\n        font-size: "
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-unicons.adoc",
    "chars": 768,
    "preview": "= Unicons\n\nUse the indicated enum type for each set.\n\n== Line (UniconsLine)\n\n++++\n<link href='./unicons/css/unicons-line"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-weathericons.adoc",
    "chars": 226,
    "preview": "= Weathericons\n\n++++\n<link href='./weathericons/css/weather-icons.css' rel='stylesheet'>\n<style>\n    .wi {\n        font-"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-websymbols.adoc",
    "chars": 225,
    "preview": "= Websymbols\n\n++++\n<link href='./websymbols/css/websymbols.css' rel='stylesheet'>\n<style>\n    .websymbols {\n        font"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-whhg.adoc",
    "chars": 343,
    "preview": "= Whhg\n\n++++\n<link href='./whhg/css/whhg.css' rel='stylesheet'>\n<style>\n    .whhg {\n        font-size: 32px;\n    }\n</sty"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-win10.adoc",
    "chars": 207,
    "preview": "= Win10\n\n++++\n<link href='./win10/css/icons8-win10.css' rel='stylesheet'>\n<style>\n    .win10 {\n        font-size: 32px;\n"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/cheat-sheet-zondicons.adoc",
    "chars": 220,
    "preview": "= Zondicons\n\n++++\n<link href='./zondicons/css/zondicons.min.css' rel='stylesheet'>\n<style>\n    .zondi {\n        font-siz"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/icon-packs.adoc",
    "chars": 31921,
    "preview": "\n[[_cheat_sheets]]\n= Icon Packs\n\n== AntDesignIcons\n* Module: `org.kordamp.ikonli.antdesignicons`\n* Font version: {antdes"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/index.adoc",
    "chars": 973,
    "preview": "= {project-title}\n:author: {project-author}\n:revnumber: {project-version}\n:toclevels: 2\n:docinfo1:\n\n:api_link_fonticon_j"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/introduction.adoc",
    "chars": 1596,
    "preview": "\n[[_introduction]]\n= Introduction\n\nIkonli provides icon packs that can be used in Java applications. Currently Swing and"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/resources/css/style.css",
    "chars": 40168,
    "preview": "@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600);\n@import url(http://fonts.googleapis.com/css?famil"
  },
  {
    "path": "docs/guide/src/docs/asciidoc/usage.adoc",
    "chars": 7284,
    "preview": "\n[[_usage]]\n= Usage\n\n== Swing\n\nThe `ikonli-swing:{project-version}` JAR provides a new Icon class: `{api_link_fonticon_s"
  },
  {
    "path": "docs/guide/src/javadoc/overview.html",
    "chars": 72,
    "preview": "<html>\n<head>\n    <title>Ikonli</title>\n</head>\n<body>\n\n</body>\n</html>\n"
  },
  {
    "path": "docs/guide/src/javadoc/resources/css/stylesheet.css",
    "chars": 11139,
    "preview": "/* Javadoc style sheet */\n/*\nOverall document style\n*/\nbody {\n    background-color:#ffffff;\n    color:#353833;\n    font-"
  },
  {
    "path": "gradle/LICENSE_HEADER",
    "chars": 599,
    "preview": "SPDX-License-Identifier: Apache-2.0\n\nCopyright ${copyrightYear} ${author}\n\nLicensed under the Apache License, Version 2."
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "chars": 251,
    "preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
  },
  {
    "path": "gradle.properties",
    "chars": 3244,
    "preview": "#\n# SPDX-License-Identifier: Apache-2.0\n#\n# Copyright 2015-2025 Andres Almiray\n#\n# Licensed under the Apache License, Ve"
  },
  {
    "path": "gradlew",
    "chars": 8740,
    "preview": "#!/bin/sh\n\n#\n# Copyright © 2015-2021 the original authors.\n#\n# Licensed under the Apache License, Version 2.0 (the \"Lice"
  },
  {
    "path": "gradlew.bat",
    "chars": 2872,
    "preview": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \""
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/ikonli-antdesignicons-pack.gradle",
    "chars": 645,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/module-info.java",
    "chars": 1373,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilled.java",
    "chars": 10927,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilledIkonHandler.java",
    "chars": 1905,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsFilledIkonProvider.java",
    "chars": 1185,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlined.java",
    "chars": 19257,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlinedIkonHandler.java",
    "chars": 1913,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/java/org/kordamp/ikonli/antdesignicons/AntDesignIconsOutlinedIkonProvider.java",
    "chars": 1131,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/resources/META-INF/resources/antdesignicons/4.0.0/css/antdesignicons-filled.css",
    "chars": 11206,
    "preview": "@font-face {\n  font-family: 'AntDesign-Icons-Filled';\n  src:  url('../fonts/AntDesign-Icons-Filled.eot?v1adt0');\n  src: "
  },
  {
    "path": "icon-packs/ikonli-antdesignicons-pack/src/main/resources/META-INF/resources/antdesignicons/4.0.0/css/antdesignicons-outlined.css",
    "chars": 20534,
    "preview": "@font-face {\n  font-family: 'AntDesign-Icons-Outlined';\n  src:  url('../fonts/AntDesign-Icons-Outlined.eot?ospa9b');\n  s"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/ikonli-bootstrapicons-pack.gradle",
    "chars": 645,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/src/main/java/module-info.java",
    "chars": 1194,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIcons.java",
    "chars": 65384,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIconsIkonHandler.java",
    "chars": 1877,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/src/main/java/org/kordamp/ikonli/bootstrapicons/BootstrapIconsIkonProvider.java",
    "chars": 1161,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bootstrapicons-pack/src/main/resources/META-INF/resources/bootstrapicons/1.4.1/css/bootstrap-icons.css",
    "chars": 63668,
    "preview": "@font-face {\n  font-family: \"bootstrap-icons\";\n  src: url(\"../fonts/bootstrap-icons.woff2?231ce25e89ab5804f9a6c427b8d325"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/ikonli-boxicons-pack.gradle",
    "chars": 645,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/module-info.java",
    "chars": 1438,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogos.java",
    "chars": 6453,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogosIkonHandler.java",
    "chars": 1850,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsLogosIkonProvider.java",
    "chars": 1151,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegular.java",
    "chars": 32673,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegularIkonHandler.java",
    "chars": 1853,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsRegularIkonProvider.java",
    "chars": 1014,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolid.java",
    "chars": 28409,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolidIkonHandler.java",
    "chars": 1850,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/java/org/kordamp/ikonli/boxicons/BoxiconsSolidIkonProvider.java",
    "chars": 1006,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-boxicons-pack/src/main/resources/META-INF/resources/boxicons/2.0.7/css/boxicons.css",
    "chars": 87153,
    "preview": "@font-face\n{\n    font-family: 'boxicons';\n    font-weight: normal;\n    font-style: normal;\n\n    src: url('../fonts/boxic"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/ikonli-bpmn-pack.gradle",
    "chars": 645,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/src/main/java/module-info.java",
    "chars": 1134,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/Bpmn.java",
    "chars": 8592,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/BpmnIkonHandler.java",
    "chars": 1818,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/src/main/java/org/kordamp/ikonli/bpmn/BpmnIkonProvider.java",
    "chars": 1225,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bpmn-pack/src/main/resources/META-INF/resources/bpmn/0.10.0/css/bpmn.css",
    "chars": 8861,
    "preview": "@font-face {\n  font-family: 'bpmn';\n  src: url('../fonts/bpmn.eot?26374340');\n  src: url('../fonts/bpmn.eot?26374340#ief"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/ikonli-bytedance-pack.gradle",
    "chars": 645,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/module-info.java",
    "chars": 2907,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldAL.java",
    "chars": 70437,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldALIkonHandler.java",
    "chars": 1890,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldALIkonProvider.java",
    "chars": 1288,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZ.java",
    "chars": 53187,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZIkonHandler.java",
    "chars": 1890,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsBoldMZIkonProvider.java",
    "chars": 1226,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldAL.java",
    "chars": 70457,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldALIkonHandler.java",
    "chars": 1910,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldALIkonProvider.java",
    "chars": 1246,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZ.java",
    "chars": 53207,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZIkonHandler.java",
    "chars": 1910,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsExtraBoldMZIkonProvider.java",
    "chars": 1246,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularAL.java",
    "chars": 70449,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularALIkonHandler.java",
    "chars": 1902,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularALIkonProvider.java",
    "chars": 1238,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZ.java",
    "chars": 53200,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZIkonHandler.java",
    "chars": 1902,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsRegularMZIkonProvider.java",
    "chars": 1238,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinAL.java",
    "chars": 70437,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinALIkonHandler.java",
    "chars": 1890,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  },
  {
    "path": "icon-packs/ikonli-bytedance-pack/src/main/java/org/kordamp/ikonli/bytedance/BytedanceIconsThinALIkonProvider.java",
    "chars": 1226,
    "preview": "/*\n * SPDX-License-Identifier: Apache-2.0\n *\n * Copyright 2015-2025 Andres Almiray\n *\n * Licensed under the Apache Licen"
  }
]

// ... and 528 more files (download for full content)

About this extraction

This page contains the full source code of the aalmiray/ikonli GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 728 files (7.6 MB), approximately 2.0M tokens, and a symbol index with 1847 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!