Fontlab Type Design

Lock 걸린 글자 조각, 한방에 Unlock All - AI와 폰트랩 파이썬 스크립트(Fontlab Python Script) 본문

9_폰트랩_파이썬_스크립트

Lock 걸린 글자 조각, 한방에 Unlock All - AI와 폰트랩 파이썬 스크립트(Fontlab Python Script)

Fontlab 2026. 5. 28. 18:52

FontLab 8: Unlock All Shapes (잠금 일괄 해제) 매뉴얼

Script 메뉴 표출명: Claude: Unlock All Shapes Hanbang-e

 

Pain point: 폰트랩은 Element 메뉴에서 Locked Content를 실행하여 글자 조각(Shape, Outline)을 수정하지 못하도록 잠금을 설정할 수 있습니다. Lock이 설정된 Shape는 위치 이동은 가능하지만 노드 선택이 불가능하게 되어 모양을 변경할 수 없도록 보호됩니다. Lock이 설정된 Shape는 Element 패널에서 자물쇠 아이콘이 나타납니다. 그런데 폰트랩은 Unlock All 기능을 제공하지 않아 Lock을 해제하려면 모든 글자에 들어가서 일일이 Lock을 해제해야 하는 고통이 있습니다.

Lock이 걸린 Shape는 Element 패널에서 자물쇠 아이콘이 표시됩니다.

 

 

이 스크립트는 FontLab 8에서 여러 글립에 흩어져 있는 잠긴 Shape(Locked Shapes)를 한 번에 스캔하고 일괄 해제해 주는 강력한 자동화 도구입니다. 개별 글립을 일일이 확인할 필요 없이, 폰트 전체의 잠금 상태를 직관적으로 파악하고 관리할 수 있습니다.

Unlock All 기능이 없는줄도 모르고 Lock을 걸어둔 이 많은 애들 어쩔거야...

 

맥용 폰트랩 8에서 정상 동작 확인하였습니다.

 

이 스크립트는 폰트랩 8에서 멀티플 마스터 파일일 때 Layers & Masters 패널이 열려 있어야 정상 동작을 합니다. 멀티플 마스터 파일에서 Layers & Masters 패널이 열려 있지 않으면 스크립트 실행시 안내 메시지가 나타납니다. 단일 마스터 파일에서는 안내 메시지가 나타나지 않습니다.

 

 

1. 주요 기능

  • 일괄 잠금 해제: 현재 활성화된 특정 마스터에서만, 혹은 폰트 내의 모든 마스터를 대상으로 잠긴 Shape를 한 번에 해제할 수 있습니다.
  • 실시간 현황 대시보드: 마스터별로 '잠긴 Shape의 총개수'와 '잠긴 Shape를 포함하고 있는 글립의 수'를 한눈에 보여줍니다.
  • 스마트 마스터 연동: 스크립트 창에서 마스터 이름을 클릭하면 해당 마스터로 자동 전환됩니다.
  • 자동 동기화: 여러 폰트 파일을 열어 작업할 때, 다른 폰트 파일로 이동하면 마스터를 감지하여 자동으로 나타냅니다.
  • Component 보호: FontLab의 Component 기능으로 삽입된 요소는 구조적으로 잠겨있는 것이 정상이므로, 스크립트가 이를 인식하고 강제로 해제하지 않도록 안전하게 설계되었습니다.
왜 굳이 Unlock을 하려고 해? 그냥 Lock이 걸린 상태로 작업해도 되잖아? 하는 의문이 있을 것입니다. 그 이유는 폰트랩의 Bug 때문입니다. 희안하게도 폰트랩은 Lock이 걸린 Shape가 있으면 인터폴레이션 과정에서 에러가 납니다. 다음 그림은 '궁'이라는 글자를 ㄱ, ㅡ, ㅣ, ㅇ으로 구성한 상태인데, 두 마스터에서 Shape의 순서와 노드 개수가 완전히 동일함에도 불구하고 인터폴레이션 과정에서 에러가 납니다. 두 마스터의 연결을 보여주는 선도 이상하게 꼬여 있습니다. 원인은 바로 Light 마스터에서 ㅣ 글자 조각에 Lock이 걸려 있기 때문입니다. Lock을 풀어주면 그때는 정상 동작을 합니다. 

 

 

2. 사용자 인터페이스(UI) 안내

UI 요소 기능 및 설명
마스터 컬럼 (버튼) 최상단에 폰트의 마스터 이름이 나열됩니다. 파란색으로 강조된 것이 현재 활성 마스터이며, 다른 마스터 버튼을 클릭하면 즉시 해당 마스터로 뷰가 전환됩니다.
잠금 Shape 수 해당 마스터 전체에 걸쳐 잠겨 있는 Shape의 총개수를 표시합니다.
영향 글리프 수 잠긴 Shape가 하나 이상 포함된 글립의 개수를 표시합니다.
[Update] 버튼 수동으로 폰트 전체를 다시 스캔하여 잠금 현황을 최신 상태로 새로고침합니다.
[현재 마스터 Unlock] 현재 파란색으로 선택된 활성 마스터에서만 잠긴 Shape를 모두 해제합니다.
[전체 마스터 Unlock] 감지된 모든 마스터를 대상으로 잠긴 Shape를 일괄 해제합니다. 클릭 시 안전을 위해 확인 팝업창이 먼저 나타납니다.
상태 표시줄 창 최하단에 위치하며, 스캔 진행 상태, 작업 완료 메시지(해제된 개수), 또는 오류 발생 시 관련 안내를 표시합니다.

 

 

3. 사용 방법

  1. Lock 개체 자동 감지: 스크립트를 실행하면 자동으로 현재 작업하는 폰트에서 Lock이 걸린 Shape를 스캔합니다. 화면 중앙의 표를 통해 어느 마스터에 잠긴 Shape가 몇 개 있는지 보여줍니다.
  2. 잠금 해제 실행:
    • 특정 마스터만 해제하려면 원하는 마스터를 선택한 후 [현재 마스터 Unlock] 버튼을 클릭합니다.
    • 폰트 전체의 잠금을 풀려면 [전체 마스터 Unlock] 버튼을 클릭하고 팝업창에서 'Yes'를 누릅니다.
  3. 결과 확인: 하단 상태 표시줄에 "Unlock 완료 — 총 OOO개 Shape 해제" 메시지가 뜨며, 현황판의 숫자가 모두 '0'으로 변경됩니다.

'전체 마스터 Unlock' 단추를 눌러 1초만에 모든 Lock을 해제한 모습

 

 

4. 참고 및 주의 사항

  • TypeRig 패키지 의존성: 이 스크립트는 내부적으로 typerig 라이브러리를 참조하여 폰트와 글립 데이터를 처리합니다. FontLab 환경에 해당 라이브러리가 정상적으로 세팅되어 있어야 완벽하게 동작합니다.
  • 폰트랩 종료 연동: 이 스크립트 창은 FontLab 메인 프로그램에 종속되어 있으므로, FontLab을 종료하면 스크립트 창도 함께 자동으로 안전하게 종료됩니다.

●Claude_A_Unlock_All_Shapes_Hanbang-e.py
0.04MB

(2026. 06. 03 업데이트 버전)


스크립트 설치 방법: Windows - 다운로드한 파일을 C:/문서/Fontlab/Fontlab 8/Scripts 폴더에 복사한 후 Fontlab을 재시작하거나, Fontlab의 Scripts 메뉴에서 제일 하단의 Refresh Scripts를 실행합니다. 다시 Script 메뉴를 열어 보면 스크립트 이름이 나타납니다. 이를 선택해 실행하면 됩니다.

macOS - 사용자/Library/Application Support/FontLab/FontLab 8/Scripts/ 폴더에 복사한 후 위의 과정과 동일하게 수행합니다. Library 폴더가 숨김 속성으로 되어 있어 보이지 않을 수도 있으므로 ChatGPT에게 숨김 속성 해제하는 방법을 물어봐서 처리하시면 좋습니다.

폰트랩에서 파이썬 스크립트를 사용하려면 반드시 TypeRig 라이브러리가 폰트랩에 설치되어 있어야 합니다. TypeRig 라이브러리가 설치되어 있지 않은 상태에서는 '대부분'의 폰트랩용 파이썬 스크립트가 실행조차 되지 않습니다. TypeRig 라이브러리 설치 방법은 첨부된 PDF 파일에 자세하게 설명되어 있습니다.
tistory_Fontlab_TypeRig_설치방법.pdf
1.39MB