annotate src/luan/modules/swing/Font.luan @ 1992:ac02e07f09de default tip

add config
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 01 Jul 2025 15:14:26 -0600
parents 2f8ab1aa8c57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
1 local Luan = require "luan:Luan.luan"
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
2 local error = Luan.error
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
3 local pairs = Luan.pairs or error()
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
4 require "java"
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
5 local JFont = require "java:java.awt.Font"
1973
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
6 local GraphicsEnvironment = require "java:java.awt.GraphicsEnvironment"
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
7 local TextAttribute = require "java:java.awt.font.TextAttribute"
1973
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
8 local Logging = require "luan:logging/Logging.luan"
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
9 local logger = Logging.logger "swing/Font"
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
10
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
11
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
12 local Font = {}
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
13
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
14 local keys = {
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
15 family = TextAttribute.FAMILY
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
16 size = TextAttribute.SIZE
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
17 }
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
18
1957
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
19 local function to_java_attributes(attrs)
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
20 local jattrs = {}
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
21 for key, val in pairs(attrs) do
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
22 key = keys[key] or error("invalid font key: "..key)
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
23 jattrs[key] = val
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
24 end
1957
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
25 return jattrs
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
26 end
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
27 Font.to_java_attributes = to_java_attributes
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
28
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
29 function Font.get(attrs)
269e78ad8a85 swing for windows
Franklin Schmidt <fschmidt@gmail.com>
parents: 1616
diff changeset
30 local jattrs = to_java_attributes(attrs)
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
31 return JFont.getFont(jattrs)
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
32 end
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
33
1973
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
34 function Font.get_available_font_family_names()
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
35 return {GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()}
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
36 end
Franklin Schmidt <fschmidt@gmail.com>
parents: 1957
diff changeset
37
1616
915cb538e2a3 start swing
Franklin Schmidt <fschmidt@gmail.com>
parents:
diff changeset
38 return Font