fix(lint): allow Korean fallback stacks (#83)

Document and validate exact Korean proportional and monospace fallback stacks, with strict regression coverage and synchronized plugin version 2.4.6.
This commit is contained in:
buildnwrite
2026-08-18 00:18:33 -07:00
committed by GitHub
parent 3fa2820814
commit aebcb5dd24
5 changed files with 51 additions and 3 deletions
+4
View File
@@ -59,6 +59,10 @@ ALLOWED_FONTS = {
"noto sans jp",
"yu gothic",
"noto sans mono cjk jp",
"apple sd gothic neo",
"noto sans kr",
"malgun gothic",
"noto sans mono cjk kr",
"system-ui",
"sans-serif",
"serif",
+43
View File
@@ -406,6 +406,49 @@ def main() -> int:
"font-family: unsupported font family: Yu Gothic UI",
directory,
)
kr_name_svg = VALID_SVG.replace("fixture-title", "kr-name-stack-title").replace(
"fixture-desc", "kr-name-stack-desc"
)
require_pass(
"kr-name-stack",
kr_name_svg.replace(
"</svg>",
'<text font-family="\'Geist\', \'Apple SD Gothic Neo\', \'Noto Sans KR\', '
'\'Malgun Gothic\', sans-serif">인증 서비스</text>\n</svg>',
),
directory,
)
kr_mono_svg = VALID_SVG.replace("fixture-title", "kr-mono-stack-title").replace(
"fixture-desc", "kr-mono-stack-desc"
)
require_pass(
"kr-mono-stack",
kr_mono_svg.replace(
"</svg>",
'<text font-family="\'Geist Mono\', \'Noto Sans Mono CJK KR\', '
'monospace">포트 443</text>\n</svg>',
),
directory,
)
kr_css_svg = VALID_SVG.replace("fixture-title", "kr-css-stack-title").replace(
"fixture-desc", "kr-css-stack-desc"
)
require_pass(
"kr-css-stack",
'<style>text { font-family: "Geist", "Apple SD Gothic Neo", "Noto Sans KR", '
'"Malgun Gothic", sans-serif; }</style>\n' + kr_css_svg,
directory,
)
malgun_semilight_svg = VALID_SVG.replace(
"fixture-title", "malgun-semilight-title"
).replace("fixture-desc", "malgun-semilight-desc")
require_lint_finding(
"malgun-gothic-semilight",
'<style>text { font-family: "Malgun Gothic Semilight", sans-serif; }</style>\n'
+ malgun_semilight_svg,
"font-family: unsupported font family: Malgun Gothic Semilight",
directory,
)
spec = importlib.util.spec_from_file_location("build_icons", BUILD_ICONS)
if spec is None or spec.loader is None: