# Apple Seoul·Hangang 원본 추출 안내서

이 문서는 글꼴 파일을 재배포하지 않습니다. Apple이 공개한 `KoreanSU.dmg.bin`을 사용자가 직접 내려받아 자신의 컴퓨터에서 조사하는 경로를 기록합니다. 원본 패키지에 포함된 라이선스와 적용 가능한 권리를 먼저 확인하세요.

## 1. 원본 받기와 검증

- URL: <https://download.info.apple.com/Mac_OS_X/082-0123.20020604/KoreanSU.dmg.bin>
- 파일 크기: `40,650,240`바이트
- SHA-256: `AB1E999908C063C4F2B99B71533935890EF0F5D92D725D2C9A4D29F46365A110`

Windows에서는 함께 제공된 `Get-AppleKoreanUpdate.ps1`을 실행하면 Apple 서버에서 원본을 받고 SHA-256을 확인할 수 있습니다.

```powershell
powershell -ExecutionPolicy Bypass -File .\Get-AppleKoreanUpdate.ps1
```

## 2. MacBinary에서 DMG 꺼내기

`.dmg.bin`의 앞 128바이트는 MacBinary 헤더입니다. 헤더 오프셋 83–86을 big-endian 32비트 정수로 읽으면 data fork 길이 `40,650,095`가 나옵니다. 오프셋 128부터 그 길이만큼 복사한 결과가 실제 DMG입니다.

- DMG SHA-256: `A6C00CE955E8BE7090D59C8D6B774A5533E14F3C70ABDB0D45AFC68175CA1B6C`

## 3. DMG의 UFS 파티션 열기

7-Zip으로 DMG를 풀면 다음 세 항목이 나옵니다.

```text
0.ddm                         512 B
1.Apple_partition_map     32,256 B
2.ufs                  51,347,456 B
```

`2.ufs`는 Apple UFS 파일시스템입니다. pytsk3에서 UFS(type 16), root inode 2, block size 1,024로 인식됩니다.

## 4. 설치 패키지 payload 찾기

UFS 디렉터리 엔트리는 big-endian으로 `inode 4바이트`, `record length 2바이트`, `type 1바이트`, `name length 1바이트`, `name` 순서입니다.

```text
/KoreanSU.pkg                              inode 960
/KoreanSU.pkg/Contents                     inode 1920
/KoreanSU.pkg/Contents/Resources           inode 2880
└─ KoreanSU.pax.gz                         inode 2882
                                           40,379,978 B
```

- `KoreanSU.pax.gz` SHA-256: `69404E0CF111C8D2D86C441138726D8E066A3BFAA5A9B81B6EDA8CA9DACEA3B8`

## 5. 두 dfont 경로

pax/gzip payload 안에서 다음 파일을 찾습니다.

```text
./System/Library/Fonts/Seoul.dfont          7,908,510 B
./Library/Fonts/Hangangche.dfont            8,924,412 B
```

두 dfont 모두 `sfnt` resource index `[1]`을 포함합니다. FontTools의 `fontTools.ttLib.macUtils.getSFNTResIndices()`와 `TTFont(path, 1)`로 확인할 수 있습니다.

## 6. Windows TTF 변환 시 주의

sfnt resource를 확장자만 `.ttf`로 저장하면 일부 앱에서는 열리지만 Windows 글꼴 등록은 실패할 수 있습니다. 이 원본에는 Windows가 기대하는 `OS/2` table, platform 3용 Unicode `cmap`·name record가 없고 `post` table도 Mac 전용 version 4.0입니다.

호환 변환 시에는 다음 작업과 검증이 필요합니다.

1. platform 3 / encoding 1 / format 4 Unicode cmap 추가
2. en-US·ko-KR Windows name records 추가
3. OS/2 v3 metrics와 code-page range 구성
4. `post` 4.0을 표준 3.0으로 변환
5. 현대 OpenType에 맞지 않는 Mac 전용 table 정리
6. OpenType Sanitizer와 실제 Windows `AddFontResourceEx` 등록 시험
7. 원본과 변환본의 글리프 렌더링 픽셀 비교

단순 확장자 변경이나 온라인 변환 사이트 사용은 권장하지 않습니다. 전체 조사 과정과 테이블 목록은 <https://oldmacfont.pages.dev/#process>에서 볼 수 있습니다.
