Files
HMDesign/docs/sw/sw-noto-bold-2026-10-20.md
T
shkim4 94c0a13c74 docs(sw): Noto Sans KR / Bold report, QA evidence and PC handoff
Report and Chromium / Firefox evidence for the font revert and Bold scope,
history notes on the Dotum and hover-stability records, a summary of the
ignored regression logs and the handoff for continuing on another PC.
2026-10-20 18:22:05 +09:00

78 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SW Noto Sans KR 복귀 + 지정 텍스트 Bold (2026-10-20)
범위: `feature/sw-package`, 기준 HEAD `032fcdc`(원격 `454472d` + 로컬 8 Commit). SW 패키지·SW Story·SW 테스트·AI 문서·README만 변경. Web UI·OrgChart 코드는 변경하지 않음(공통 `AI_GUIDE.md`는 공식 `sync:ai-docs`로 사본 동기화). 증거: [sw-noto-bold-qa/](./sw-noto-bold-qa/). Dotum 시점 기록([sw-dotum-font-2026-10-20.md](./sw-dotum-font-2026-10-20.md))은 이력으로 보존.
## 1. 글꼴 정책
| 영역 | 기본 글꼴 |
|---|---|
| SW | **Noto Sans KR** (`--hm-sw-header-font-family: "Noto Sans KR", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif`) — 2026-10-20 Dotum 기본값 철회 |
| Web UI | Noto Sans KR (변경 없음, 토큰 별개) |
| OrgChart | 기존 설정 유지 |
- Dotum 전용 보정 정리: Header 그리기모드 칸 padding 4px → **8px 복원**(Noto 700 "그리기모드" 67.2px ≤ 내용 폭 74px).
- Storybook은 Web UI theme의 Noto Sans KR 가변 글꼴(100–900)을 로드: 700은 실제 Bold 면(합성 Bold 아님).
## 2. Bold 적용 범위 (Chromium·Firefox 계산값 동일)
| 대상 | 선택자 | 전 → 후 |
|---|---|---|
| SWHeader 파일명 | `.hm-sw-header__document-name` (버튼 상속) | 700 → 700 (이미 Bold, CSS 추가 없음) |
| Composed Controls 필드 값 | `.hm-sw-header__field-value:not(.hm-sw-header .hm-sw-header__field-value)` | 400 → **700** |
| SWHeader 안 필드 값 (More 포함) | `.hm-sw-header__field-value` | 400 유지 |
| Footer 보조기능·명령어 제목 | `.hm-sw-footer-side__title` | 400 → **700** |
| Footer 분류 탭 12개 | `.hm-sw-footer-menu__tab` | 400 → **700** (Default·Hover·Selected) |
| Footer 전체보기 · Model/Layout · 명령 · 보조기능 라벨 | 각 클래스 | 400 유지 |
| Viewer 파일명·버튼 라벨 6개·Model/Layout | `.hm-sw-viewer-header :is(__document-name, __label, __tab)` | 500 → **700** (탭 숫자 11px 400 유지) |
| 최근파일 이름 | `.hm-sw-recent-files__name` | 700 + 1.3px 외곽선 (이미 적용, 변경 없음) |
| 최근파일 경로 | `.hm-sw-recent-files__path` | 400 → **700**, 기존 12px 1px 외곽선 유지 |
| 미리보기 제목 | `.hm-sw-recent-files__preview-title` | 400·외곽선 없음 → **700 + 1.3px 외곽선**(`--hm-sw-header-text-outline`), `overflow: clip` + 외곽선 여백. 폭 294px·말줄임 유지 |
외곽선은 기존 토큰만 사용(14px = 1.3px, 12px = 1px). 크기·색·위치·말줄임 변화 없음.
## 3. 재측정 (Noto Sans KR)
| 항목 | Dotum 700 | Noto 700 |
|---|---|---|
| Footer 분류 탭 전체 / 영역 (1920) | 801 / 759px → ◀▶ 표시 | **727 / 727.3px → 모두 표시, ◀▶ 없음** |
| Footer 1440 · 1280 · 950 · 860 · 760 | 영역 487 · 351 · 283 · 215 · 79px, ◀▶ 스크롤 | 같은 영역, 내용 727px → ◀▶ 스크롤(기존 정책) |
| 분류 행 높이 | 24px | 24px (Bold 전후 동일) |
| Composed `0.25` / `Standard` | 38.25/38 · 70.48/69 (잘림) | 29.5/38 · 64.2 (표시) |
| Composed `1.0000`(스케일 값, 38px 칸) | 59.4/38 | **49.2/38 — 말줄임 + title (디자인 검토)** |
| Viewer 파일명 말줄임 끝나는 폭 | 500: 1365px / 700: 1420px | 500: 1315px / 700: **1320px** |
| Viewer 375–1920 (310단계) | — | 넘침 0, 메뉴·More 배치 500과 동일 |
| SWHeader `ByLayer`(38px 칸) | 57.9/38 | 56.0/38 — 말줄임 + title 유지(정책) |
## 4. 남은 문제
- **Firefox `Continuous`(미해결, 악화):** Chromium·Firefox 모두 글자 81.3px인데 Firefox만 선스타일 첫 칸을 74.9px로 계산해 6.4px 부족(Dotum 400에서는 0.6px). 같은 Firefox flex 내재 폭 문제로 판단. 지시대로 Chromium에 영향을 주는 보정은 하지 않음 — 별도 검토.
- Composed `1.0000`: 38px 스케일 칸보다 넓음(필드 크기 확대 안 함).
- Figma 차이: Home Menu Hover 1px 이동 미적용(사용자 기준), Figma Dotum → Noto Sans KR 대체.
## 5. 검증
| 검사 | 결과 |
|---|---|
| `text-weight.browser.mjs` (신규, Chromium) | 43/43 (행 높이 기대값 24px로 수정, ◀▶ = Overflow 일 때만 검사 추가) |
| `hover-stability.browser.mjs` (Chromium, Home Menu 42타일 · Footer 135칸) | 201/201 |
| `hover-stability-firefox.browser.mjs` | 58/59 — FAIL 1 = Firefox `Continuous`(위 남은 문제) |
| Firefox 계산값(Header·Composed·Footer·Viewer 12개 선택자, 분류 영역) | Chromium과 동일, 콘솔 오류 0 |
| viewer | 70/70 (라벨 weight 기대값 500 → 700, 요청 변경) |
| footer-popup-viewer 47/47 · integrated-improvement 89/0 FAIL(Open 히스테리시스) · footer-design-review 21/21 · theme-inheritance 23/23 | PASS |
| home-menu-integration 22/23 · dropdown-consolidation 223/5 FAIL | 기존 기준선 실패(이전 보고와 동일 항목) |
| `typecheck:sw` · `build-storybook`(패키지 build 포함) · `check:ai-docs` · `ai-docs.check` 37/37 | PASS |
| ai-template-consumer | 미실행(소비 프로젝트 빌드 필요). 글꼴 기대값만 Noto로 복원 |
## 6. Git 미포함 로그 요약 (Commit 시점)
`*.log`는 `.gitignore` 대상이라 `sw-noto-bold-qa/regression/*.log`는 저장소에 들어가지 않습니다. FAIL 항목만 아래에 남깁니다(모두 기존 기준선 또는 §4 남은 문제, 신규 회귀 아님).
| 로그 | FAIL 항목 |
|---|---|
| dropdown-consolidation (5) | 28 → 24 Story 수, 24 ID 유지, 비 SW index 동일, 선언 동일, runtime/API/Overview 무변경 — 이후 Story 정리로 바뀐 기준선 |
| home-menu-integration (1) | `homeMenu` 없음일 때 logo 클릭 → `homeMenuOpen(true, home)` 호출 기록 — 기존 기준선 |
| hover-firefox (1) | Firefox `Continuous` 81.32 / 74.92px 잘림 — §4 |
| integrated-improvement | 89 PASS / 0 FAIL(보고서의 "Open 히스테리시스"는 측정 메모) |
Commit 분리 후(2026-10-20) 같은 소스로 `typecheck:sw` · `build:sw` · `build-storybook` PASS, `text-weight` 43/43, `hover-stability`(Chromium) 201/201 재실행 PASS. 그 외 브라우저 결과는 Commit 전 동일 소스 실행분을 재사용합니다. 새 PC 인수인계는 [sw-pc-handoff-2026-10-20.md](./sw-pc-handoff-2026-10-20.md).