python-hwpx-automation 6.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hwpx_automation/__init__.py +61 -0
- hwpx_automation/__init__.pyi +27 -0
- hwpx_automation/__main__.py +8 -0
- hwpx_automation/agent_document.py +392 -0
- hwpx_automation/api.py +136 -0
- hwpx_automation/blind_eval.py +407 -0
- hwpx_automation/capabilities.py +110 -0
- hwpx_automation/compat.py +48 -0
- hwpx_automation/configuration.py +60 -0
- hwpx_automation/core/__init__.py +2 -0
- hwpx_automation/core/content.py +762 -0
- hwpx_automation/core/context.py +111 -0
- hwpx_automation/core/diff.py +53 -0
- hwpx_automation/core/document.py +37 -0
- hwpx_automation/core/formatting.py +513 -0
- hwpx_automation/core/handles.py +24 -0
- hwpx_automation/core/locations.py +205 -0
- hwpx_automation/core/locator.py +162 -0
- hwpx_automation/core/plan.py +680 -0
- hwpx_automation/core/resources.py +42 -0
- hwpx_automation/core/search.py +296 -0
- hwpx_automation/core/transactions.py +434 -0
- hwpx_automation/core/txn.py +48 -0
- hwpx_automation/document_state.py +95 -0
- hwpx_automation/errors.py +174 -0
- hwpx_automation/execution_lock.py +15 -0
- hwpx_automation/fastmcp_adapter.py +672 -0
- hwpx_automation/form_fill.py +1177 -0
- hwpx_automation/form_output_models.py +223 -0
- hwpx_automation/handlers/__init__.py +2 -0
- hwpx_automation/handlers/_shared.py +377 -0
- hwpx_automation/handlers/agent_document.py +257 -0
- hwpx_automation/handlers/authoring.py +750 -0
- hwpx_automation/handlers/content_edit.py +1078 -0
- hwpx_automation/handlers/form_fill.py +607 -0
- hwpx_automation/handlers/layout_style.py +660 -0
- hwpx_automation/handlers/quality_render.py +566 -0
- hwpx_automation/handlers/read_export.py +1295 -0
- hwpx_automation/handlers/specialized.py +624 -0
- hwpx_automation/handlers/tracked_changes.py +589 -0
- hwpx_automation/handlers/workflow.py +105 -0
- hwpx_automation/hwp_converter.py +227 -0
- hwpx_automation/hwp_support.py +94 -0
- hwpx_automation/hwpx_ops.py +1439 -0
- hwpx_automation/identity.json +263 -0
- hwpx_automation/identity.py +18 -0
- hwpx_automation/ingest_adapters.py +85 -0
- hwpx_automation/markdown_plan.py +216 -0
- hwpx_automation/mcp_cli.py +29 -0
- hwpx_automation/metadata/tools_meta.py +40 -0
- hwpx_automation/mixed_form.py +3007 -0
- hwpx_automation/mutation_models.py +401 -0
- hwpx_automation/network_policy.py +232 -0
- hwpx_automation/office/__init__.py +14 -0
- hwpx_automation/office/agent/__init__.py +125 -0
- hwpx_automation/office/agent/_batch_verification.py +383 -0
- hwpx_automation/office/agent/blueprint/__init__.py +58 -0
- hwpx_automation/office/agent/blueprint/bundle.py +282 -0
- hwpx_automation/office/agent/blueprint/catalog.py +136 -0
- hwpx_automation/office/agent/blueprint/dump.py +520 -0
- hwpx_automation/office/agent/blueprint/mapping.py +312 -0
- hwpx_automation/office/agent/blueprint/model.py +722 -0
- hwpx_automation/office/agent/blueprint/native.py +621 -0
- hwpx_automation/office/agent/blueprint/replay.py +622 -0
- hwpx_automation/office/agent/catalog.py +252 -0
- hwpx_automation/office/agent/cli.py +647 -0
- hwpx_automation/office/agent/commands.py +1383 -0
- hwpx_automation/office/agent/document.py +801 -0
- hwpx_automation/office/agent/form_plan.py +1760 -0
- hwpx_automation/office/agent/model.py +808 -0
- hwpx_automation/office/agent/path.py +155 -0
- hwpx_automation/office/agent/query.py +230 -0
- hwpx_automation/office/agent/story.py +207 -0
- hwpx_automation/office/authoring/__init__.py +3542 -0
- hwpx_automation/office/authoring/advanced_generators.py +154 -0
- hwpx_automation/office/authoring/builder/__init__.py +52 -0
- hwpx_automation/office/authoring/builder/core.py +996 -0
- hwpx_automation/office/authoring/builder/report.py +195 -0
- hwpx_automation/office/authoring/design/__init__.py +30 -0
- hwpx_automation/office/authoring/design/_support.py +144 -0
- hwpx_automation/office/authoring/design/composer.py +282 -0
- hwpx_automation/office/authoring/design/harvest.py +305 -0
- hwpx_automation/office/authoring/design/plan.py +69 -0
- hwpx_automation/office/authoring/design/profile.py +88 -0
- hwpx_automation/office/authoring/design/profiles/application_form/fragments/body.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/application_form/fragments/heading.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/application_form/fragments/info_table.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/application_form/fragments/title.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/application_form/profile.json +25 -0
- hwpx_automation/office/authoring/design/profiles/application_form/template.hwpx +0 -0
- hwpx_automation/office/authoring/design/profiles/home_notice/fragments/body.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/home_notice/fragments/heading.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/home_notice/fragments/title.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/home_notice/profile.json +24 -0
- hwpx_automation/office/authoring/design/profiles/home_notice/template.hwpx +0 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/fragments/body.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/fragments/heading.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/fragments/info_table.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/fragments/title.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/profile.json +25 -0
- hwpx_automation/office/authoring/design/profiles/official_notice/template.hwpx +0 -0
- hwpx_automation/office/authoring/design/profiles/report/fragments/body.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/report/fragments/heading.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/report/fragments/info_table.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/report/fragments/title.xml +1 -0
- hwpx_automation/office/authoring/design/profiles/report/profile.json +25 -0
- hwpx_automation/office/authoring/design/profiles/report/template.hwpx +0 -0
- hwpx_automation/office/authoring/design/validator.py +107 -0
- hwpx_automation/office/authoring/presets/__init__.py +22 -0
- hwpx_automation/office/authoring/presets/proposal.py +538 -0
- hwpx_automation/office/authoring/report_parser.py +141 -0
- hwpx_automation/office/authoring/style_profile.py +437 -0
- hwpx_automation/office/authoring/template_analyzer.py +657 -0
- hwpx_automation/office/compliance/__init__.py +38 -0
- hwpx_automation/office/compliance/official_lint.py +478 -0
- hwpx_automation/office/compliance/pii.py +388 -0
- hwpx_automation/office/document_ops/__init__.py +13 -0
- hwpx_automation/office/document_ops/comparison.py +62 -0
- hwpx_automation/office/document_ops/mail_merge.py +73 -0
- hwpx_automation/office/document_ops/redline.py +35 -0
- hwpx_automation/office/evalplan/__init__.py +36 -0
- hwpx_automation/office/evalplan/runtime.py +2762 -0
- hwpx_automation/office/exam/__init__.py +44 -0
- hwpx_automation/office/exam/compose.py +282 -0
- hwpx_automation/office/exam/ir.py +44 -0
- hwpx_automation/office/exam/measure.py +163 -0
- hwpx_automation/office/exam/parser.py +150 -0
- hwpx_automation/office/exam/profile.py +123 -0
- hwpx_automation/office/form_fill/__init__.py +66 -0
- hwpx_automation/office/form_fill/classification.py +108 -0
- hwpx_automation/office/form_fill/fill_residue.py +242 -0
- hwpx_automation/office/form_fill/fit/__init__.py +36 -0
- hwpx_automation/office/form_fill/fit/apply.py +24 -0
- hwpx_automation/office/form_fill/fit/engine.py +24 -0
- hwpx_automation/office/form_fill/fit/measure.py +50 -0
- hwpx_automation/office/form_fill/fit/policy.py +28 -0
- hwpx_automation/office/form_fill/fit/report.py +28 -0
- hwpx_automation/office/form_fill/fit/seal.py +457 -0
- hwpx_automation/office/form_fill/fit/wordbox.py +1343 -0
- hwpx_automation/office/form_fill/guidance.py +704 -0
- hwpx_automation/office/form_fill/quality.py +961 -0
- hwpx_automation/office/form_fill/split_run.py +333 -0
- hwpx_automation/office/form_fill/template_formfit.py +656 -0
- hwpx_automation/office/house_style/__init__.py +196 -0
- hwpx_automation/office/house_style/composition.py +68 -0
- hwpx_automation/office/house_style/data/bank.json +625 -0
- hwpx_automation/office/house_style/data/genres.json +43 -0
- hwpx_automation/office/quality/__init__.py +14 -0
- hwpx_automation/office/quality/page_guard.py +277 -0
- hwpx_automation/office/rendering/__init__.py +145 -0
- hwpx_automation/office/rendering/_hancom_open_rate.ps1 +374 -0
- hwpx_automation/office/rendering/_refresh_hwpx_mac.applescript +162 -0
- hwpx_automation/office/rendering/_render_hwpx.ps1 +72 -0
- hwpx_automation/office/rendering/_render_hwpx_mac.applescript +249 -0
- hwpx_automation/office/rendering/block_splits.py +76 -0
- hwpx_automation/office/rendering/detectors.py +151 -0
- hwpx_automation/office/rendering/diff.py +153 -0
- hwpx_automation/office/rendering/fixture_corpus.py +215 -0
- hwpx_automation/office/rendering/oracle.py +909 -0
- hwpx_automation/office/rendering/page_qa.py +245 -0
- hwpx_automation/office/rendering/qa_contracts.py +293 -0
- hwpx_automation/office/rendering/qa_metrics.py +241 -0
- hwpx_automation/office/rendering/worker.py +290 -0
- hwpx_automation/office/utilities/__init__.py +12 -0
- hwpx_automation/office/utilities/table_compute.py +477 -0
- hwpx_automation/ops_services/__init__.py +1 -0
- hwpx_automation/ops_services/_border_fill.py +283 -0
- hwpx_automation/ops_services/composition.py +55 -0
- hwpx_automation/ops_services/content_layout.py +322 -0
- hwpx_automation/ops_services/context.py +213 -0
- hwpx_automation/ops_services/form_fields.py +557 -0
- hwpx_automation/ops_services/media.py +178 -0
- hwpx_automation/ops_services/memo_style.py +477 -0
- hwpx_automation/ops_services/package_validation.py +166 -0
- hwpx_automation/ops_services/planning.py +201 -0
- hwpx_automation/ops_services/preview_export.py +585 -0
- hwpx_automation/ops_services/read_query.py +601 -0
- hwpx_automation/ops_services/save_policy.py +604 -0
- hwpx_automation/ops_services/tables.py +539 -0
- hwpx_automation/ops_services/transactions.py +616 -0
- hwpx_automation/preview_output_models.py +69 -0
- hwpx_automation/public-modules.json +206 -0
- hwpx_automation/py.typed +1 -0
- hwpx_automation/quality.py +351 -0
- hwpx_automation/quality_generation.py +725 -0
- hwpx_automation/runtime.py +321 -0
- hwpx_automation/runtime_services.py +100 -0
- hwpx_automation/server.py +259 -0
- hwpx_automation/storage.py +747 -0
- hwpx_automation/tool_bindings.py +170 -0
- hwpx_automation/tool_contract.py +982 -0
- hwpx_automation/upstream.py +755 -0
- hwpx_automation/utils/__init__.py +2 -0
- hwpx_automation/utils/helpers.py +29 -0
- hwpx_automation/visual_qa.py +667 -0
- hwpx_automation/workflow/__init__.py +55 -0
- hwpx_automation/workflow/adapters.py +482 -0
- hwpx_automation/workflow/dispatcher.py +213 -0
- hwpx_automation/workflow/models.py +243 -0
- hwpx_automation/workflow/policy.py +198 -0
- hwpx_automation/workflow/render_contracts.py +173 -0
- hwpx_automation/workflow/render_metrics.py +196 -0
- hwpx_automation/workflow/render_queue.py +482 -0
- hwpx_automation/workflow/render_security.py +172 -0
- hwpx_automation/workflow/render_transport.py +369 -0
- hwpx_automation/workflow/rendering.py +206 -0
- hwpx_automation/workflow/service.py +758 -0
- hwpx_automation/workflow/state_machine.py +65 -0
- hwpx_automation/workflow/store.py +747 -0
- hwpx_automation/workspace.py +1694 -0
- python_hwpx_automation-6.0.3.dist-info/METADATA +279 -0
- python_hwpx_automation-6.0.3.dist-info/RECORD +217 -0
- python_hwpx_automation-6.0.3.dist-info/WHEEL +5 -0
- python_hwpx_automation-6.0.3.dist-info/entry_points.txt +3 -0
- python_hwpx_automation-6.0.3.dist-info/licenses/LICENSE +178 -0
- python_hwpx_automation-6.0.3.dist-info/licenses/NOTICE +14 -0
- python_hwpx_automation-6.0.3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "hwpx.house-style-bank/v0",
|
|
3
|
+
"generated": "2026-07-21",
|
|
4
|
+
"status": "v0 — owner-decided 2026-07-21 (결정 6항목: 공문 본문 15pt / 보고서 제목 22·27 병행 / 기본 모드 hancom-native / 일반 본문 11pt / 개인용 3트랙 / 공개 위치는 후속 스테이지). 값 자체는 스테이지 실증 전 draft 정밀도",
|
|
5
|
+
"researchDoc": "docs/2026-07-21-house-style-research.md",
|
|
6
|
+
"_usage": "zero-base 저작 시 donor로 주입할 스타일 값. 뱅크=데이터(감각), 프로파일 선택·조합=스킬(두뇌). 값의 prov는 'layer:근거' — layer ∈ statute(법정)|form-rule(서식 설계기준)|practice(실무 관행 웹)|harvest(M3 실물 수확)|measured(기준본·분포 실측)|hwp-default|krds|personal-web",
|
|
7
|
+
"fontSafety": {
|
|
8
|
+
"grades": {
|
|
9
|
+
"S": [
|
|
10
|
+
"함초롬바탕",
|
|
11
|
+
"함초롬돋움"
|
|
12
|
+
],
|
|
13
|
+
"A": [
|
|
14
|
+
"휴먼명조",
|
|
15
|
+
"휴먼고딕",
|
|
16
|
+
"HY헤드라인M",
|
|
17
|
+
"HY견고딕",
|
|
18
|
+
"HY견명조",
|
|
19
|
+
"한컴바탕",
|
|
20
|
+
"한컴돋움",
|
|
21
|
+
"한컴 고딕",
|
|
22
|
+
"한컴산뜻돋움",
|
|
23
|
+
"한컴 윤고딕 계열",
|
|
24
|
+
"문체부 계열",
|
|
25
|
+
"KBIZ한마음고딕",
|
|
26
|
+
"KBIZ한마음명조",
|
|
27
|
+
"맑은 고딕"
|
|
28
|
+
],
|
|
29
|
+
"B": [
|
|
30
|
+
"Pretendard",
|
|
31
|
+
"나눔고딕",
|
|
32
|
+
"나눔명조",
|
|
33
|
+
"나눔스퀘어",
|
|
34
|
+
"KoPub돋움",
|
|
35
|
+
"KoPub바탕",
|
|
36
|
+
"Noto Sans KR",
|
|
37
|
+
"마루부리",
|
|
38
|
+
"리디바탕",
|
|
39
|
+
"Apple SD 산돌고딕 Neo",
|
|
40
|
+
"바탕",
|
|
41
|
+
"굴림"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"_gradeMeaning": "S=무조건 안전(기본값·자유 라이선스·대체 수렴점) / A=한컴 설치 환경에서 안전(대부분 한컴오피스 전용 라이선스 — 임베드·재배포 금지, 문체부·KBIZ 제외) / B=번들 아님·대체 각오(자유 라이선스는 임베드 시에만)",
|
|
45
|
+
"fallbackChain": [
|
|
46
|
+
"함초롬바탕",
|
|
47
|
+
"함초롬돋움",
|
|
48
|
+
"한컴바탕",
|
|
49
|
+
"한컴돋움",
|
|
50
|
+
"새바탕",
|
|
51
|
+
"바탕",
|
|
52
|
+
"굴림"
|
|
53
|
+
],
|
|
54
|
+
"modes": {
|
|
55
|
+
"hancom-native": "S+A 허용 — 수신자가 한글로 여는 통상 상황 (기본)",
|
|
56
|
+
"portable": "S만(+자유 라이선스 임베드) — 비한컴 뷰어·재배포·장기 보존"
|
|
57
|
+
},
|
|
58
|
+
"portableMap": {
|
|
59
|
+
"휴먼명조": "함초롬바탕",
|
|
60
|
+
"HY견명조": "함초롬바탕",
|
|
61
|
+
"한컴바탕": "함초롬바탕",
|
|
62
|
+
"마루부리(designIntent)": "함초롬바탕",
|
|
63
|
+
"HY헤드라인M": "함초롬돋움",
|
|
64
|
+
"휴먼고딕": "함초롬돋움",
|
|
65
|
+
"한컴돋움": "함초롬돋움",
|
|
66
|
+
"한컴 고딕": "함초롬돋움",
|
|
67
|
+
"한컴산뜻돋움": "함초롬돋움",
|
|
68
|
+
"맑은 고딕": "함초롬돋움",
|
|
69
|
+
"Pretendard(designIntent)": "함초롬돋움"
|
|
70
|
+
},
|
|
71
|
+
"warnings": [
|
|
72
|
+
"휴먼명조 HFT/TTF 이중형식(TH/TT) — 동명이라도 메트릭 차로 리플로우 가능. 휴먼명조 지정 문서는 실한컴 렌더 게이트 필수",
|
|
73
|
+
"맑은 고딕: 한컴 설치 환경이면 양 플랫폼 존재(Mac 앱 번들 malgun.ttf 실측 2026-07-21, 웹 '없다' 주장 교정), 비한컴 Mac 뷰어에선 부재",
|
|
74
|
+
"OS 시스템 폰트(맑은 고딕·Apple SD 산돌고딕 Neo) 단독 의존 금지 — 크로스플랫폼 편측 대체"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"sharedRules": [
|
|
78
|
+
"자간은 좁히고 행간은 넓혀라 — 본문 160%(읽기 문서 180), 고딕 자간 -5~-8, 행간 150% 미만 금지",
|
|
79
|
+
"2서체 이내 — 본문 명조 + 제목 고딕, 무분별 혼용 금지",
|
|
80
|
+
"장평 100 고정 — 90~110 밖 임의 변형 금지",
|
|
81
|
+
"위계는 크기+굵기로 — 제목 >= 본문 x1.4 또는 굵기 대비, 색 남발 금지",
|
|
82
|
+
"정렬 통일(본문 양쪽정렬 일관)·문단 간격 일정·여백 확보",
|
|
83
|
+
"표 안은 본문보다 1~2pt 작고 줄간격 100~130으로 촘촘하게",
|
|
84
|
+
"기본값 그대로 두지 마라 — 크기·행간·위계를 결정해야 문서로 읽힌다"
|
|
85
|
+
],
|
|
86
|
+
"profiles": {
|
|
87
|
+
"gongmun": {
|
|
88
|
+
"label": "공문 (기안문/시행문/통지/협조)",
|
|
89
|
+
"when": "기관 명의 발신 문서. 규정 게이트(inspect_official_document_style) 병행 필수",
|
|
90
|
+
"page": {
|
|
91
|
+
"paper": "A4",
|
|
92
|
+
"marginsMm": {
|
|
93
|
+
"top": 20,
|
|
94
|
+
"bottom": 15,
|
|
95
|
+
"left": 20,
|
|
96
|
+
"right": 20
|
|
97
|
+
},
|
|
98
|
+
"prov": [
|
|
99
|
+
"statute:A4 규정 제7조제6항",
|
|
100
|
+
"measured:기준본 20/15/20/20 — 일반 기안문 여백 법정 미지정(편람 p.53 자유조정)",
|
|
101
|
+
"form-rule:서식 준거는 20/10/20/20(편람 제3절)"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"roles": {
|
|
105
|
+
"agency_head": {
|
|
106
|
+
"font": "HY헤드라인M",
|
|
107
|
+
"sizePt": 16,
|
|
108
|
+
"align": "center",
|
|
109
|
+
"letterSpacing": "확장(자간 벌림)",
|
|
110
|
+
"prov": [
|
|
111
|
+
"harvest:M3 official_notice title 16pt",
|
|
112
|
+
"statute:두문 가운데·자간 확장(편람 p.57)"
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
"subject": {
|
|
116
|
+
"font": "휴먼명조",
|
|
117
|
+
"sizePt": 15,
|
|
118
|
+
"bold": true,
|
|
119
|
+
"prov": [
|
|
120
|
+
"practice:본문 크기+굵기 관행"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"body": {
|
|
124
|
+
"font": "휴먼명조",
|
|
125
|
+
"sizePt": 15,
|
|
126
|
+
"lineSpacingPct": 160,
|
|
127
|
+
"altLineSpacingPct": 180,
|
|
128
|
+
"align": "justify",
|
|
129
|
+
"prov": [
|
|
130
|
+
"practice:휴먼명조 15pt(머니투데이·다수)",
|
|
131
|
+
"harvest:M3 body 휴먼명조 15pt",
|
|
132
|
+
"measured:공문 실측 180 우세 → alt",
|
|
133
|
+
"practice:K-에듀파인 도구 기본 123%는 도구값(비채택)"
|
|
134
|
+
]
|
|
135
|
+
},
|
|
136
|
+
"sender_name": {
|
|
137
|
+
"font": "한컴돋움",
|
|
138
|
+
"sizePt": 15,
|
|
139
|
+
"bold": true,
|
|
140
|
+
"align": "center",
|
|
141
|
+
"prov": [
|
|
142
|
+
"form-rule:발신명의 돋움체 15P 진하게(편람 p.149)"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"closing_meta": {
|
|
146
|
+
"font": "휴먼명조",
|
|
147
|
+
"sizePt": 13,
|
|
148
|
+
"prov": [
|
|
149
|
+
"harvest:M3 결문/info_table 12~14pt"
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"table_cell": {
|
|
153
|
+
"font": "휴먼명조",
|
|
154
|
+
"sizePt": 12,
|
|
155
|
+
"lineSpacingPct": 130,
|
|
156
|
+
"prov": [
|
|
157
|
+
"harvest:M3 info_table 12pt",
|
|
158
|
+
"measured:표 안 100~130 분포"
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"statutory": {
|
|
163
|
+
"itemNumbering": [
|
|
164
|
+
"1.",
|
|
165
|
+
"가.",
|
|
166
|
+
"1)",
|
|
167
|
+
"가)",
|
|
168
|
+
"(1)",
|
|
169
|
+
"(가)",
|
|
170
|
+
"①",
|
|
171
|
+
"㉮"
|
|
172
|
+
],
|
|
173
|
+
"itemSymbolsAllowed": [
|
|
174
|
+
"□",
|
|
175
|
+
"○",
|
|
176
|
+
"-",
|
|
177
|
+
"ㆍ"
|
|
178
|
+
],
|
|
179
|
+
"indentRule": "첫째 항목 왼쪽 기본선, 하위 항목 +2타, 기호-내용 1타 (2타=한글1자), 둘째 줄은 내용 첫 글자 정렬",
|
|
180
|
+
"dateFormat": "2026. 7. 21. (온점·0 미채움)",
|
|
181
|
+
"timeFormat": "24시각제 15:00",
|
|
182
|
+
"endMark": "본문 끝 2타 '끝.' (붙임 있으면 붙임 뒤)",
|
|
183
|
+
"attachment": "'붙임' 쌍점 없이 + 명칭 + '1부.' (2건 이상 번호, 1건은 숫자 생략)",
|
|
184
|
+
"pageNumber": "중앙 하단 (중요문서 4-1, 4-2…)",
|
|
185
|
+
"sealColor": "관인 빨간색(출력 시 검정 가능)",
|
|
186
|
+
"prov": [
|
|
187
|
+
"statute:규칙 제2조·제18조·규정 제7조, 2025 편람 원문"
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"report": {
|
|
192
|
+
"label": "보고서·계획서",
|
|
193
|
+
"when": "정책/업무 보고, 운영·사업 계획. 개조식(~함/~음), 항목 2줄 이내",
|
|
194
|
+
"page": {
|
|
195
|
+
"paper": "A4",
|
|
196
|
+
"marginsMm": {
|
|
197
|
+
"top": 20,
|
|
198
|
+
"bottom": 15,
|
|
199
|
+
"left": 20,
|
|
200
|
+
"right": 20
|
|
201
|
+
},
|
|
202
|
+
"prov": [
|
|
203
|
+
"practice:좌우 20 관행",
|
|
204
|
+
"measured:기준본 동일"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
"outlineSymbols": {
|
|
208
|
+
"order": [
|
|
209
|
+
"□",
|
|
210
|
+
"○",
|
|
211
|
+
"-",
|
|
212
|
+
"ㆍ"
|
|
213
|
+
],
|
|
214
|
+
"prov": [
|
|
215
|
+
"practice:보고서 개요기호(공문 1.가.와 구분)"
|
|
216
|
+
]
|
|
217
|
+
},
|
|
218
|
+
"roles": {
|
|
219
|
+
"cover_title": {
|
|
220
|
+
"font": "HY헤드라인M",
|
|
221
|
+
"sizePt": 27,
|
|
222
|
+
"bold": true,
|
|
223
|
+
"align": "center",
|
|
224
|
+
"prov": [
|
|
225
|
+
"harvest:M3 report title 27pt bold(표지형)"
|
|
226
|
+
]
|
|
227
|
+
},
|
|
228
|
+
"title": {
|
|
229
|
+
"font": "HY헤드라인M",
|
|
230
|
+
"sizePt": 22,
|
|
231
|
+
"bold": true,
|
|
232
|
+
"prov": [
|
|
233
|
+
"practice:20~22pt(본문형 제목)"
|
|
234
|
+
]
|
|
235
|
+
},
|
|
236
|
+
"heading1": {
|
|
237
|
+
"font": "HY헤드라인M",
|
|
238
|
+
"sizePt": 16,
|
|
239
|
+
"spaceAfterPt": 8,
|
|
240
|
+
"prov": [
|
|
241
|
+
"practice:대분류 16pt·뒤 8pt"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"heading2": {
|
|
245
|
+
"font": "휴먼명조",
|
|
246
|
+
"sizePt": 15,
|
|
247
|
+
"bold": true,
|
|
248
|
+
"prov": [
|
|
249
|
+
"harvest:M3 heading 휴먼명조 15pt"
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"body": {
|
|
253
|
+
"font": "휴먼명조",
|
|
254
|
+
"sizePt": 15,
|
|
255
|
+
"lineSpacingPct": 160,
|
|
256
|
+
"prov": [
|
|
257
|
+
"practice:14~15pt·160%",
|
|
258
|
+
"harvest:M3 body 15pt"
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"paren_note": {
|
|
262
|
+
"font": "휴먼명조",
|
|
263
|
+
"sizePt": 12,
|
|
264
|
+
"prov": [
|
|
265
|
+
"practice:괄호 부연 12pt"
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
"reference": {
|
|
269
|
+
"font": "한컴돋움",
|
|
270
|
+
"sizePt": 10,
|
|
271
|
+
"lineSpacingPct": 130,
|
|
272
|
+
"prov": [
|
|
273
|
+
"practice:참조/주석 10~13pt·130%",
|
|
274
|
+
"measured:주석 10pt"
|
|
275
|
+
]
|
|
276
|
+
},
|
|
277
|
+
"table_header": {
|
|
278
|
+
"font": "한컴돋움",
|
|
279
|
+
"sizePt": 11,
|
|
280
|
+
"bold": true,
|
|
281
|
+
"prov": [
|
|
282
|
+
"practice:표 안 고딕 10~13pt"
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
"table_cell": {
|
|
286
|
+
"font": "한컴돋움",
|
|
287
|
+
"sizePt": 10.5,
|
|
288
|
+
"lineSpacingPct": 130,
|
|
289
|
+
"prov": [
|
|
290
|
+
"practice",
|
|
291
|
+
"measured:표 안 100~130·셀 10~11.5pt"
|
|
292
|
+
]
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"home_notice": {
|
|
297
|
+
"label": "가정통신문·안내문",
|
|
298
|
+
"when": "학교→학부모/대상자 공지. 가독 우선(수신자 일반인)",
|
|
299
|
+
"page": {
|
|
300
|
+
"paper": "A4",
|
|
301
|
+
"marginsMm": {
|
|
302
|
+
"top": 15,
|
|
303
|
+
"bottom": 15,
|
|
304
|
+
"left": 15,
|
|
305
|
+
"right": 15
|
|
306
|
+
},
|
|
307
|
+
"prov": [
|
|
308
|
+
"harvest:M3 home_notice 15mm 계열(실물 편차 큼 — 20mm 계열도 무방)"
|
|
309
|
+
]
|
|
310
|
+
},
|
|
311
|
+
"roles": {
|
|
312
|
+
"title": {
|
|
313
|
+
"font": "맑은 고딕",
|
|
314
|
+
"sizePt": 20,
|
|
315
|
+
"bold": true,
|
|
316
|
+
"align": "center",
|
|
317
|
+
"altFont": "HY헤드라인M",
|
|
318
|
+
"prov": [
|
|
319
|
+
"harvest:M3 title 맑은 고딕 20pt bold",
|
|
320
|
+
"practice:16~20pt"
|
|
321
|
+
]
|
|
322
|
+
},
|
|
323
|
+
"heading": {
|
|
324
|
+
"font": "함초롬바탕",
|
|
325
|
+
"sizePt": 14,
|
|
326
|
+
"bold": true,
|
|
327
|
+
"prov": [
|
|
328
|
+
"harvest:M3 heading 14pt bold"
|
|
329
|
+
]
|
|
330
|
+
},
|
|
331
|
+
"body": {
|
|
332
|
+
"font": "함초롬바탕",
|
|
333
|
+
"sizePt": 12,
|
|
334
|
+
"lineSpacingPct": 160,
|
|
335
|
+
"altLineSpacingPct": 180,
|
|
336
|
+
"prov": [
|
|
337
|
+
"harvest:M3 body 12pt",
|
|
338
|
+
"practice:11~12pt·160~180%(저학년·학부모 가독 시 180)"
|
|
339
|
+
]
|
|
340
|
+
},
|
|
341
|
+
"table_cell": {
|
|
342
|
+
"font": "함초롬돋움",
|
|
343
|
+
"sizePt": 10.5,
|
|
344
|
+
"lineSpacingPct": 130,
|
|
345
|
+
"prov": [
|
|
346
|
+
"practice:표 안 10~10.5pt",
|
|
347
|
+
"measured"
|
|
348
|
+
]
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
"default_document": {
|
|
353
|
+
"label": "일반 문서 기본값",
|
|
354
|
+
"when": "유형 특정 불가 시 안전 기본. HWP 기본값을 실측·관행으로 보정",
|
|
355
|
+
"page": {
|
|
356
|
+
"paper": "A4",
|
|
357
|
+
"marginsMm": {
|
|
358
|
+
"top": 20,
|
|
359
|
+
"bottom": 15,
|
|
360
|
+
"left": 20,
|
|
361
|
+
"right": 20
|
|
362
|
+
},
|
|
363
|
+
"prov": [
|
|
364
|
+
"measured:기준본 실측"
|
|
365
|
+
]
|
|
366
|
+
},
|
|
367
|
+
"roles": {
|
|
368
|
+
"title": {
|
|
369
|
+
"font": "함초롬돋움",
|
|
370
|
+
"sizePt": 16,
|
|
371
|
+
"bold": true,
|
|
372
|
+
"prov": [
|
|
373
|
+
"practice:본문 x1.4~1.6 대비"
|
|
374
|
+
]
|
|
375
|
+
},
|
|
376
|
+
"heading": {
|
|
377
|
+
"font": "함초롬돋움",
|
|
378
|
+
"sizePt": 13,
|
|
379
|
+
"bold": true,
|
|
380
|
+
"prov": [
|
|
381
|
+
"measured:소제목 12pt bold",
|
|
382
|
+
"practice:위계 대비 보정 +1"
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
"body": {
|
|
386
|
+
"font": "함초롬바탕",
|
|
387
|
+
"sizePt": 11,
|
|
388
|
+
"lineSpacingPct": 160,
|
|
389
|
+
"altLineSpacingPct": 180,
|
|
390
|
+
"align": "justify",
|
|
391
|
+
"firstLineIndentPt": 10,
|
|
392
|
+
"letterSpacingPct": 0,
|
|
393
|
+
"prov": [
|
|
394
|
+
"hwp-default:함초롬바탕 10pt·160%(한컴 공식)",
|
|
395
|
+
"measured:사람 최종본 11pt",
|
|
396
|
+
"practice:첫줄 들여쓰기 10pt(1글자)"
|
|
397
|
+
]
|
|
398
|
+
},
|
|
399
|
+
"emphasis": {
|
|
400
|
+
"letterSpacingPct": -5,
|
|
401
|
+
"bold": true,
|
|
402
|
+
"prov": [
|
|
403
|
+
"measured:강조부 자간 -5~-10",
|
|
404
|
+
"practice:고딕 -5~-8"
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
"meta": {
|
|
408
|
+
"font": "함초롬돋움",
|
|
409
|
+
"sizePt": 10,
|
|
410
|
+
"prov": [
|
|
411
|
+
"measured:주석 10pt"
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
"table_header": {
|
|
415
|
+
"font": "함초롬돋움",
|
|
416
|
+
"sizePt": 10.5,
|
|
417
|
+
"bold": true,
|
|
418
|
+
"prov": [
|
|
419
|
+
"practice:표 안 본문-1~2pt"
|
|
420
|
+
]
|
|
421
|
+
},
|
|
422
|
+
"table_cell": {
|
|
423
|
+
"font": "함초롬돋움",
|
|
424
|
+
"sizePt": 10,
|
|
425
|
+
"lineSpacingPct": 130,
|
|
426
|
+
"prov": [
|
|
427
|
+
"practice",
|
|
428
|
+
"measured:표 안 100~130"
|
|
429
|
+
]
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
"ratioPct": {
|
|
433
|
+
"value": 100,
|
|
434
|
+
"range": [
|
|
435
|
+
90,
|
|
436
|
+
110
|
|
437
|
+
],
|
|
438
|
+
"prov": [
|
|
439
|
+
"practice:장평 임의 변형 금지",
|
|
440
|
+
"measured:100 기본·90~98 혼용"
|
|
441
|
+
]
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"personal_modern": {
|
|
445
|
+
"label": "개인용 모던 (예쁘게 저장하고 싶은 개인 문서)",
|
|
446
|
+
"when": "이력서/자소서·대학 리포트·계획표/다이어리·노션형 정리 문서 — '예쁘게' 요청 시",
|
|
447
|
+
"colorRule": "60-30-10 — 무채색 본문 + 악센트 1색, 색은 강조·포인트에만. 본문은 순검정 대신 차콜",
|
|
448
|
+
"variants": {
|
|
449
|
+
"modern_blue": {
|
|
450
|
+
"label": "기본형 — 모던 블루",
|
|
451
|
+
"font": {
|
|
452
|
+
"designIntent": "Pretendard",
|
|
453
|
+
"hancomNative": "한컴 고딕",
|
|
454
|
+
"portable": "함초롬돋움",
|
|
455
|
+
"prov": [
|
|
456
|
+
"personal-web:국민 모던 기본체 Pretendard(B등급→매핑)",
|
|
457
|
+
"measured:한컴 고딕 Mac Install 번들 실측"
|
|
458
|
+
]
|
|
459
|
+
},
|
|
460
|
+
"palette": {
|
|
461
|
+
"text": "#1E2124",
|
|
462
|
+
"meta": "#6D7882",
|
|
463
|
+
"border": "#B1B8BE",
|
|
464
|
+
"tableHeaderBg": "#F4F5F6",
|
|
465
|
+
"accent": "#256EF4",
|
|
466
|
+
"prov": [
|
|
467
|
+
"krds:그레이 램프·primary 블루(KRDS 공식)"
|
|
468
|
+
]
|
|
469
|
+
},
|
|
470
|
+
"page": {
|
|
471
|
+
"paper": "A4",
|
|
472
|
+
"marginsMm": {
|
|
473
|
+
"top": 25,
|
|
474
|
+
"bottom": 20,
|
|
475
|
+
"left": 28,
|
|
476
|
+
"right": 28
|
|
477
|
+
},
|
|
478
|
+
"prov": [
|
|
479
|
+
"personal-web:넉넉한 여백 상하 20~25·좌우 25~30"
|
|
480
|
+
]
|
|
481
|
+
},
|
|
482
|
+
"roles": {
|
|
483
|
+
"cover_title": {
|
|
484
|
+
"sizePt": 27,
|
|
485
|
+
"bold": true,
|
|
486
|
+
"align": "center",
|
|
487
|
+
"lineSpacingPct": 130,
|
|
488
|
+
"prov": [
|
|
489
|
+
"personal-web:표지 제목 26~28pt bold 중앙"
|
|
490
|
+
]
|
|
491
|
+
},
|
|
492
|
+
"cover_meta": {
|
|
493
|
+
"sizePt": 11,
|
|
494
|
+
"lineSpacingPct": 160,
|
|
495
|
+
"color": "#6D7882",
|
|
496
|
+
"align": "center",
|
|
497
|
+
"position": "하단 정돈(과목/교수/학과/학번/이름/제출일)",
|
|
498
|
+
"prov": [
|
|
499
|
+
"personal-web:리포트 표지 관행(다수 대학)"
|
|
500
|
+
]
|
|
501
|
+
},
|
|
502
|
+
"h1": {
|
|
503
|
+
"sizePt": 17,
|
|
504
|
+
"bold": true,
|
|
505
|
+
"lineSpacingPct": 150,
|
|
506
|
+
"prov": [
|
|
507
|
+
"krds:위계 스케일·150%·700 weight"
|
|
508
|
+
]
|
|
509
|
+
},
|
|
510
|
+
"h2": {
|
|
511
|
+
"sizePt": 13.5,
|
|
512
|
+
"bold": true,
|
|
513
|
+
"lineSpacingPct": 150,
|
|
514
|
+
"prov": [
|
|
515
|
+
"krds",
|
|
516
|
+
"personal-web:13~14pt"
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
"body": {
|
|
520
|
+
"sizePt": 11,
|
|
521
|
+
"lineSpacingPct": 170,
|
|
522
|
+
"color": "#1E2124",
|
|
523
|
+
"prov": [
|
|
524
|
+
"personal-web:10.5~11pt·행간 170%",
|
|
525
|
+
"measured:사람 본문 11pt"
|
|
526
|
+
]
|
|
527
|
+
},
|
|
528
|
+
"caption": {
|
|
529
|
+
"sizePt": 9,
|
|
530
|
+
"lineSpacingPct": 150,
|
|
531
|
+
"color": "#6D7882",
|
|
532
|
+
"prov": [
|
|
533
|
+
"personal-web"
|
|
534
|
+
]
|
|
535
|
+
},
|
|
536
|
+
"table_header": {
|
|
537
|
+
"sizePt": 10,
|
|
538
|
+
"bold": true,
|
|
539
|
+
"bgColor": "#F4F5F6",
|
|
540
|
+
"lineSpacingPct": 140,
|
|
541
|
+
"prov": [
|
|
542
|
+
"personal-web",
|
|
543
|
+
"krds:은은한 면 F4F5F6"
|
|
544
|
+
]
|
|
545
|
+
},
|
|
546
|
+
"table_cell": {
|
|
547
|
+
"sizePt": 10,
|
|
548
|
+
"lineSpacingPct": 140,
|
|
549
|
+
"borderColor": "#B1B8BE",
|
|
550
|
+
"prov": [
|
|
551
|
+
"personal-web",
|
|
552
|
+
"krds:연회색 테두리"
|
|
553
|
+
]
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
"notes": [
|
|
557
|
+
"쪽번호 2쪽부터 하단 중앙",
|
|
558
|
+
"이력서 힌트: 본문 10pt·행간 130~140·2쪽 이내"
|
|
559
|
+
]
|
|
560
|
+
},
|
|
561
|
+
"emotive_calm": {
|
|
562
|
+
"label": "감성형 — 톤다운",
|
|
563
|
+
"inherits": "modern_blue",
|
|
564
|
+
"font": {
|
|
565
|
+
"designIntent": "마루부리 (대체: 리디바탕·나눔명조)",
|
|
566
|
+
"hancomNative": "함초롬바탕",
|
|
567
|
+
"portable": "함초롬바탕",
|
|
568
|
+
"prov": [
|
|
569
|
+
"personal-web:감성 본문 폰트 다수 일치(B등급→매핑)"
|
|
570
|
+
]
|
|
571
|
+
},
|
|
572
|
+
"overrides": {
|
|
573
|
+
"body": {
|
|
574
|
+
"lineSpacingPct": 180,
|
|
575
|
+
"prov": [
|
|
576
|
+
"personal-web:감성 트랙 행간 180%"
|
|
577
|
+
]
|
|
578
|
+
},
|
|
579
|
+
"accentOptions": [
|
|
580
|
+
"세이지 그린 계열(예시 #7C9070 — 합성값, 확정 전 오너 확인)",
|
|
581
|
+
"네이비 #1F3864(기존 코드 프리셋 계승)"
|
|
582
|
+
]
|
|
583
|
+
},
|
|
584
|
+
"notes": [
|
|
585
|
+
"제목 대비가 필요하면 고딕(hancomNative: 한컴 고딕) bold 혼용 허용 — 2서체 이내 규칙 내"
|
|
586
|
+
]
|
|
587
|
+
},
|
|
588
|
+
"minimal_mono": {
|
|
589
|
+
"label": "미니멀 — 무채색",
|
|
590
|
+
"inherits": "modern_blue",
|
|
591
|
+
"font": {
|
|
592
|
+
"designIntent": "Pretendard",
|
|
593
|
+
"hancomNative": "한컴 고딕",
|
|
594
|
+
"portable": "함초롬돋움",
|
|
595
|
+
"prov": [
|
|
596
|
+
"personal-web:국민 모던 기본체 Pretendard(B등급→매핑)",
|
|
597
|
+
"measured:한컴 고딕 Mac Install 번들 실측"
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
"overrides": {
|
|
601
|
+
"palette": {
|
|
602
|
+
"accent": null,
|
|
603
|
+
"_note": "악센트 없음 — 60-30-10의 강조 10%를 색 대신 굵기·크기 대비로 대체"
|
|
604
|
+
},
|
|
605
|
+
"table_header": {
|
|
606
|
+
"bgColor": null,
|
|
607
|
+
"rule": "배경 면 없이 상하 괘선(#B1B8BE)만으로 구분"
|
|
608
|
+
},
|
|
609
|
+
"body": {
|
|
610
|
+
"lineSpacingPct": 170
|
|
611
|
+
}
|
|
612
|
+
},
|
|
613
|
+
"notes": [
|
|
614
|
+
"미니멀의 미감은 여백과 위계 대비에서 옴 — modern_blue의 넉넉한 여백 유지·확대",
|
|
615
|
+
"오너 결정(2026-07-21)으로 추가된 3번째 트랙 — 세부값은 후속 스테이지 실증에서 정밀화"
|
|
616
|
+
],
|
|
617
|
+
"prov": [
|
|
618
|
+
"personal-web:무채색+굵기 위계 다수 일치",
|
|
619
|
+
"owner:3트랙 결정 2026-07-21"
|
|
620
|
+
]
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "hwpx.house-style-genres/v0",
|
|
3
|
+
"generated": "2026-07-23",
|
|
4
|
+
"_usage": "장르 구조 문법(감각 데이터). 스킬(두뇌)이 per-doc 인스턴스화하고, 게이트는 이 데이터에 대해 검사한다. 판단 하드코딩 금지 — 값의 prov는 'layer:근거', layer ∈ harvest(실물 수확 N=3)|template(도교육청 서식 inline)|owner",
|
|
5
|
+
"genres": {
|
|
6
|
+
"operating_plan": {
|
|
7
|
+
"label": "운영계획서 (기관·사업·정책 운영 계획)",
|
|
8
|
+
"when": "기관/사업/정책 운영 계획. 개조식. 정부·공공 장르",
|
|
9
|
+
"typography": {
|
|
10
|
+
"inherits": "report",
|
|
11
|
+
"prov": ["template:도교육청 서식 inline(헤더 HY헤드라인M 14/본문 휴먼명조 13/160%)와 뱅크 report 교차일치"],
|
|
12
|
+
"roles": {
|
|
13
|
+
"section_chip_number": {"font": "HY헤드라인M", "sizePt": 14, "bold": true, "align": "center", "onAccent": true, "prov": ["harvest:섹션칩 번호칸 accent 배경"]},
|
|
14
|
+
"section_chip_title": {"font": "HY헤드라인M", "sizePt": 14, "bold": true, "prov": ["harvest:섹션칩 제목"]},
|
|
15
|
+
"org_box_label": {"font": "휴먼명조", "sizePt": 11, "align": "center", "prov": ["harvest:조직도 박스 라벨"]}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"grammar": {
|
|
19
|
+
"sequence": ["title_band", "issuer", "slogan?", "section+"],
|
|
20
|
+
"section": {"divider": "section_chip", "body": "prose_body", "embeds": "embedded_block*"},
|
|
21
|
+
"blockTypes": {
|
|
22
|
+
"title_band": {"desc": "1x1 boxed title 「…」 운영 계획, 가운데·큰 글자", "required": true},
|
|
23
|
+
"issuer": {"desc": "발신 기관명", "required": true},
|
|
24
|
+
"slogan": {"desc": "인용 슬로건/태그라인", "required": false},
|
|
25
|
+
"section_chip": {"desc": "섹션 구분자 1x3 [번호box][gap][제목] 또는 inline", "required": true},
|
|
26
|
+
"prose_body": {"desc": "개조식 계층 ○/-/□/①/➡/※", "required": true},
|
|
27
|
+
"org_chart": {"desc": "표-기반 박스 조직도(병합 박스+셀 테두리 커넥터). 드로잉 아님(2026-07-23 실측)", "required": false},
|
|
28
|
+
"comparison": {"desc": "AS-IS➡TO-BE 표", "required": false},
|
|
29
|
+
"data_table": {"desc": "현황/예산/spec 표", "required": false},
|
|
30
|
+
"faq": {"desc": "순/질의/응답 3열 표", "required": false}
|
|
31
|
+
},
|
|
32
|
+
"variableSlots": {
|
|
33
|
+
"numbering": {"options": ["roman", "arabic"], "default": "roman", "desc": "섹션 번호 체계 Ⅰ~ vs 1.~"},
|
|
34
|
+
"chipStyle": {"options": ["box", "inline"], "default": "box", "desc": "섹션칩 렌더 색박스 vs inline"},
|
|
35
|
+
"bulletGlyph": {"options": ["○", "ㅇ"], "default": "○"},
|
|
36
|
+
"accentColor": {"desc": "섹션칩·강조 accent 1색(문서마다 변주)", "example": "#3366CC"},
|
|
37
|
+
"headerImage": {"desc": "타이틀 밴드/첫 단 로고·엠블럼(변주, 입력 파라미터)"}
|
|
38
|
+
},
|
|
39
|
+
"prov": ["harvest:N=3 실물(앵커+형제2) 공유 문법", "owner:형 공유·표면 변주 확증 2026-07-22"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
"""Canonical office document-quality policy owners."""
|
|
3
|
+
|
|
4
|
+
from .page_guard import (
|
|
5
|
+
DocumentMetrics,
|
|
6
|
+
collect_metrics,
|
|
7
|
+
compare_metrics,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"DocumentMetrics",
|
|
12
|
+
"collect_metrics",
|
|
13
|
+
"compare_metrics",
|
|
14
|
+
]
|