- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 한글(HWP)에서 조직 표준 스타일을 배포할 때 발생하는 동기화 오류를 체계적으로 진단하고, 템플릿(HWT) 기반으로 안정적으로 재배포하는 실무 절차와 점검표를 제공하는 것이다.
1. 증상 요약과 빠른 판단
조직 표준 스타일 세트를 배포한 뒤 다음과 같은 현상이 반복된다면 스타일 동기화 오류로 판단한다.
- 문단·글자 스타일 이름은 같으나 서식 값(글꼴, 크기, 간격, 들여쓰기)이 다르게 적용된다.
- 번호 매기기 스타일이 문서마다 재시작되거나 레벨 들여쓰기가 틀어진다.
- 표 스타일이 일부 문서에서 기본 표로 바뀌거나 테두리·채우기 색이 유실된다.
- 스타일 관리자에서 동일 이름이 중복 보이거나 사용 여부가 불명확하다.
- 한컴스페이스 동기화 후 동일 파일을 열었을 때 스타일이 이전 버전으로 되돌아간다.
- 외부 배포 문서 수신 시 표준 스타일이 수신자 PC 환경에서 대체 글꼴로 치환된다.
2. 근본 원인 구조 이해
2.1 스타일 메타데이터 충돌
한글 스타일은 이름, 내부 ID, 상속 관계, 연결 서식(번호 매기기, 탭, 문단 간격), 적용 범위 등으로 구성된다. 개별 문서에서 스타일 편집 후 동일 이름으로 저장하면 템플릿 원본과 메타데이터가 어긋나 충돌이 발생한다.
2.2 버전·템플릿 불일치
한컴오피스 버전이 상이하면 번호 매기기 엔진, 표 스타일 속성, 문단 간격 연산 방식이 미세하게 달라진다. 구버전 HWT에서 생성된 문서를 신버전에서 열거나 반대로 열 때 재해석 과정에서 오차가 누적된다.
2.3 글꼴 의존성·대체 매핑
조직 표준 글꼴이 일부 PC에 설치되지 않았을 때 대체 글꼴이 자동 적용된다. 글꼴 폭과 글립 높이가 달라지면 레이아웃, 들여쓰기, 탭 위치가 변형된다.
2.4 한컴스페이스·네트워크 동기화 지연
클라우드·NAS 환경에서 동일 파일을 여러 사용자가 연속 편집하면 마지막 저장본이 동기화되는 시점에 이전 버전의 HWT 레퍼런스가 적용되어 롤백처럼 보이는 현상이 발생한다.
2.5 번호 매기기 스타일의 외부 참조
문단 스타일과 목록 스타일을 별개로 설계했을 때 상호 연결이 끊기면 레벨과 들여쓰기가 초기화된다.
3. 즉시 복구 절차(현장용)
3.1 로컬 캐시·임시 파일 정리
- 열려 있는 HWP를 모두 종료한다.
- 작업 PC의 임시 폴더와 최근 사용 기록을 정리한다.
- 동기화 클라이언트(한컴스페이스, NAS 동기화)의 업로드 완료 상태를 확인한다.
Windows 실행 창 > %temp% 입력 Temp 폴더 내 HWP 관련 임시 파일(~$로 시작)을 삭제 동기화 클라이언트 상태: 업로드/다운로드 큐 비우기 3.2 신뢰 가능한 원본 템플릿 선택
- 조직 표준 HWT 템플릿의 검증된 마스터 사본을 로컬 드라이브에 복사한다.
- 파일 속성에서 읽기 전용을 해제하고, 디지털 서명이 있을 경우 유효성 상태를 확인한다.
3.3 스타일 관리자 덮어쓰기
- 문제 문서를 연다.
- 메뉴에서 서식 > 스타일을 열고 가져오기를 선택한다.
- 원본 HWT를 지정하고 동일 이름 스타일 덮어쓰기 옵션을 선택한다.
- 문단·글자·표·번호 매기기 스타일을 각각 가져온다.
3.4 번호 매기기 복원
- 문서 전체를 선택한다.
- 번호 매기기 스타일을 해제 후 다시 적용한다.
- 레벨별 들여쓰기와 탭 정렬을 확인한다.
홈 탭 > 문단 > 번호 매기기 > 없음 > 저장 이후 > 표준 번호 매기기(ORG-List-1) 다시 적용 필요 시 > 레벨 연결: 제목1→레벨1, 제목2→레벨2 ... 3.5 표 스타일 재적용
- 표를 선택하고 표 스타일 갤러리에서 표준 스타일을 재적용한다.
- 테두리/채우기/머리행 반복 옵션을 점검한다.
3.6 글꼴 검증
- 표준 글꼴 패키지를 설치한다.
- 한글 옵션에서 대체 글꼴 매핑을 비활성화하거나 표준 대체 규칙을 저장한다.
도구 > 환경 설정 > 글꼴 > 대체 글꼴: [조직 표준]만 허용 없을 시: 배포 스크립트로 폰트 자동 설치 4. HWT 템플릿 기반 재배포 설계
4.1 네이밍·버전 정책
- 스타일 이름은 접두어를 부여한다(예: ORG-Title-1, ORG-Body, ORG-Table-Std).
- 템플릿 파일명에
YYYYMMDD빌드 날짜를 포함한다. - 문서 속성에 스타일 세트 버전 필드를 저장한다.
4.2 상속 구조 표준화
- 모든 제목 스타일은 ORG-Heading-Base를 상속한다.
- 본문 스타일은 ORG-Body-Base를 상속하고, 표준 줄간격·문단 전후 간격을 고정한다.
- 번호 매기기 스타일은 문단 스타일과 1:1 연결한다.
4.3 표·그림·캡션 일관화
- 표 스타일은 머리행/짝수행 음영, 테두리 두께, 여백을 명시한다.
- 그림 캡션은 ORG-Caption을 사용하고 번호 형식을 장르별로 분리한다.
4.4 필수 옵션
- 스타일 보호를 활성화하여 임의 수정 후 저장을 제한한다.
- 새 문서의 기본 스타일 세트를 HWT로 강제한다.
5. 배포 시나리오별 체크리스트
| 시나리오 | 핵심 설정 | 리스크 | 대응 |
|---|---|---|---|
| 로컬 복사 배포 | HWT를 C:\ProgramData\Org\Templates에 저장 | 사용자 임의 수정 | 읽기 전용 속성, 해시 검증 배치 |
| 네트워크 공유 | 읽기 권한만 부여, 오프라인 캐시 비활성 | 오프라인 파일로 인한 롤백 | 그룹 정책으로 오프라인 금지 |
| 한컴스페이스 | 버전 라벨, 편집 잠금 사용 | 동시 편집 중 충돌 | 체크아웃 절차, 저장 간격 정책 |
| 외부 협력사 배포 | 폰트 동봉, PDF/A 가이드 병행 | 미설치 글꼴 치환 | 대체 글꼴 매핑 파일 제공 |
6. 버전 호환성과 안전 구간
서식 엔진이 다른 버전 간에는 미세한 차이가 있다. 다음 표는 기능별 안전 구간을 요약한다.
| 기능 | 안전 권장 | 권고 설정 | 비고 |
|---|---|---|---|
| 문단 간격 | 버전 일치 | 정확한 값 지정, 기준선 옵션 고정 | 상대값 사용 지양 |
| 번호 매기기 | 템플릿 내 정의·문단 연결 | 수동 번호 금지 | 레벨별 탭 값 고정 |
| 표 스타일 | 테두리·채우기 수치화 | 머리행 반복 체크 | 테마 색상 대신 고정색 |
| 글꼴 | 조직 배포 패키지 | 대체 매핑 파일 | 가변폭 주의 |
7. 자동화 스크립트 예시(대량 복구)
조직 문서 일괄 복구를 위한 자동화 예시이다. 실제 환경에 맞게 경로와 스타일 이름을 조정한다.
# 의사 코드: HWP 문서 일괄 스타일 덮어쓰기 for file in find("D:\\Projects\\**\\*.hwp"): doc = Hwp.Open(file, readOnly=False) doc.Style.ImportFromTemplate("C:\\ProgramData\\Org\\Templates\\ORG_20251101.hwt", overwriteSameName=True, include=["Para","Char","Table","Numbering"]) doc.Numbering.ClearAll() doc.Numbering.ApplySet("ORG-List-1", linkToParaStyles=True) doc.Table.ApplyStyle("ORG-Table-Std") doc.Fields.UpdateAll() doc.Save() doc.Close() 8. 표준 스타일 사양서 샘플
| 스타일 | 상속 | 글꼴/크기 | 줄간격 | 문단 전/후 | 들여쓰기/탭 | 번호 연결 |
|---|---|---|---|---|---|---|
| ORG-Title-1 | ORG-Heading-Base | OrgSans 18pt | 고정 160% | 18/12pt | 0/탭 12mm | 레벨1 |
| ORG-Title-2 | ORG-Heading-Base | OrgSans 15pt | 고정 160% | 12/8pt | 첫줄 들여쓰기 0 | 레벨2 |
| ORG-Body | ORG-Body-Base | OrgSerif 10.5pt | 고정 170% | 0/6pt | 첫줄 10mm | 없음 |
| ORG-Table-Std | 없음 | OrgSans 9pt | 고정 150% | 0/0 | 셀 내 여백 1.5mm | 없음 |
9. 운영 정책과 품질 보증
9.1 변경 관리
- 스타일 변경은 분기 단위로 묶어 릴리스한다.
- 릴리스 노트에 변경 항목, 영향 범위, 롤백 절차를 기록한다.
9.2 회귀 테스트 체크리스트
| 항목 | 체크 방법 | 합격 기준 |
|---|---|---|
| 제목 번호 연속성 | 제목1~제목3 3페이지 이상 | 번호·들여쓰기 불일치 0건 |
| 목차 생성 | 자동 목차 생성 후 페이지 참조 | 모든 항목 링크 유효 |
| 표 스타일 | 머리행 반복, 줄무늬, 테두리 두께 | 시트 3종에서 동일 렌더링 |
| 글꼴 치환 | 표준 글꼴 미설치 환경 테스트 | 대체 규칙에 따라 동일 레이아웃 |
9.3 권한·배포 통제
- 템플릿 저장소에 소수 관리자만 쓰기 권한을 가진다.
- 사용자 PC에는 읽기 전용으로 미러링한다.
10. 자주 발생하는 문제와 해결
10.1 스타일 이름은 같은데 값이 다를 때
스타일 가져오기에서 동일 이름 덮어쓰기를 수행한다. 이후 문서 전체에 스타일 다시 적용을 수행한다.
10.2 표준 번호가 문서 중간에서 초기화될 때
병합된 문서에서 구문서의 독립 번호 세트가 잔존하기 때문이다. 전체 선택 후 번호 매기기 해제→표준 세트 재적용을 수행한다.
10.3 캡션 번호가 꼬일 때
캡션이 수동 텍스트로 입력된 경우다. 캡션 필드를 삽입하고 스타일 ORG-Caption을 지정한다. 필드 전체 업데이트를 수행한다.
10.4 외부 전달 후 글꼴이 바뀔 때
수신자 환경에 글꼴이 없다. PDF/A 가이드를 병행 제공하고, 문서에는 대체 글꼴 매핑 파일을 포함한다.
10.5 한컴스페이스 편집 후 스타일이 되돌아갈 때
동기화 지연 또는 병합 충돌이다. 체크아웃 절차를 도입하고, 편집 중 중복 저장을 피한다. 저장 후 동기화 완료를 확인한다.
11. 현장 팁
- 제목 수평선, 페이지 나누기 같은 레이아웃 요소는 스타일 외부에서 최소화한다.
- 표준 색상은 RGB 코드로 고정하고 테마 색상 사용을 제한한다.
- 탭 정렬은 mm 값으로 고정한다.
- 머리말·바닥말·각주·미주에도 동일 스타일을 통일한다.
FAQ
문서마다 다른 사용자 정의 스타일이 필요하면 어떻게 하나?
조직 표준 접두어(예: ORG-)가 없는 로컬 스타일 이름 공간을 별도로 두고, 배포 스크립트에서 ORG- 접두어를 가진 표준 스타일만 덮어쓰도록 설계한다.
외부 문서를 병합할 때 스타일 충돌을 최소화하려면?
병합 전 외부 문서의 스타일 이름에 접두어를 일괄 부여하거나, 임시 템플릿으로 가져오기 후 표준 스타일로 매핑한다.
템플릿 갱신 주기는 어떻게 정하나?
분기 1회 릴리스를 권장한다. 긴급 오류 수정은 핫픽스로 릴리스하되, 버전 태그와 변경 이력을 반드시 남긴다.
표준 글꼴 배포는 어떤 방식이 안전한가?
사내 소프트웨어 배포 도구로 서명된 패키지를 사용한다. 수동 설치 파일 공유는 버전 상이와 누락을 유발한다.
문서 보호와 스타일 보호 중 무엇을 우선하나?
스타일 보호를 우선한다. 문서 보호는 편집 제한을 걸지만, 스타일 오염을 근본적으로 막지는 못한다.