Word에서 Ctrl+V 하면 색과 글자 크기가 사라진다? 데이터가 사라진 게 아니라 기본 설정이 바뀐 것이다
2026-10-27
몇 달 전에 우리는 RDP Clipboard Anchor를 출시했습니다. 원격 데스크톱 시나리오에 특화된 클립보드 기록 도구로, RDP 세션 안에서 복사한 내용을 로컬에 캐시해 앵커링해서 연결이 끊겨도 사라지지 않고, 언제든 드래그해서 꺼내 쓸 수 있습니다. 기록 목록은 이 브리지 시나리오를 중심으로 설계되었습니다.
올해 5월, feedback 저장소에 클립보드 기록을 분류하고 자주 쓰는 항목을 즐겨찾기할 수 있게 해 달라는 요청이 들어왔습니다. 분류와 즐겨찾기는 범용 클립보드 관리의 요구라서 RDP 브리지 도구의 범위를 넘으며, 실제로는 다른 제품, 즉 로컬 일상용 클립보드 관리자를 가리키고 있었습니다. 우리는 이 방향으로 ClipLab을 시작했습니다.
그러다 테스트 중에 이 글에서 다룰 문제와 부딪혔습니다.
말이 안 되는 현상
Word에서 색, 글자 크기, 굵게, 기울임꼴이 있는 텍스트를 복사하고, 도중에 클립보드가 다른 내용으로 덮인 뒤, ClipLab 기록에서 그 항목을 찾아 Word에 다시 붙여넣으면 색과 글자 크기는 사라지고 굵게와 기울임꼴은 남아 있습니다.
첫 번째 용의자는 우리 자신이었습니다. 저장할 때 데이터 일부가 사라졌거나, 쓰기 되돌릴 때 사라졌을 수 있습니다. 클립보드 관리 도구의 본업은 내용을 그대로 저장하고 그대로 돌려주는 것이고, 그러지 못하면 버그입니다.
그래서 먼저 파이프라인 전체의 데이터를 점검했습니다.
먼저 데이터가 남아 있는지 확인한다
Windows 클립보드는 같은 내용을 여러 형식으로 동시에 가질 수 있습니다. Word는 텍스트를 복사할 때 십여 개의 형식을 동시에 올립니다. Rich Text Format, HTML Format, 일반 텍스트에 더해 Embed Source, Native 같은 OLE 네이티브 형식 무리도 함께입니다.
우리는 순수 Win32 API(OpenClipboard / GetClipboardData)로 각 형식의 원본 바이트를 하나씩 잡아 해시를 계산해 보관하는 프로브 스크립트를 작성하고, 3단계 대조를 했습니다.
1단계: 복사 후 도구의 데이터베이스에서 저장된 바이트를 꺼내 클립보드의 원본 바이트와 비교. HTML Format은 바이트 단위로 일치.
2단계: 클립보드를 비우고 도구가 그 항목을 다시 쓰게 한 뒤 프로브로 다시 잡기. 해시가 일치, 여전히 바이트 단위로 동일.
3단계: 도구를 우회해 프로브로 Word의 최초 원본 바이트를 클립보드에 직접 올리고 Word에 붙여넣기.
3단계에서도 색은 사라졌습니다. 데이터는 1바이트도 없어지지 않았는데 Word의 붙여넣기 방식은 그대로였습니다.
Word의 네 가지 붙여넣기 옵션
데이터에 문제가 없으니 다음은 Word의 동작을 봅니다. 우클릭 붙여넣기에서 Word의 네 가지 붙여넣기 옵션이 보이고, 하나씩 시도하면 규칙이 분명해집니다.
| 붙여넣기 옵션 | 색/크기 | 굵게/기울임 |
|---|---|---|
| 원본 서식 유지 | ✅ | ✅ |
| 대상 테마 사용 | ✅ | ✅ |
| 서식 병합 | ❌ | ✅ |
| 텍스트만 유지 | ❌ | ❌ |
데이터는 완전하고, Word는 그대로 붙여넣을 능력이 충분히 있습니다. "원본 서식 유지"만 명시적으로 고르면 됩니다. 그러나 평범한 Ctrl+V에서는 Word가 스스로 판단해 "서식 병합"을 택합니다. 굵게와 기울임꼴은 남기고 글꼴·색·크기·글꼴 패밀리는 버립니다. 우리가 본 현상과 정확히 일치합니다.
그렇다면 Word는 무엇을 근거로 기본값을 정하는 걸까요. 몇 차례의 배제 실험을 했습니다. 먼저 데이터 각도: Word가 복사 시 올리는 전체 16개 형식(Embed Source, Native 등 OLE 네이티브 형식 포함)을 바이트 단위로 잡아 그대로 재생해도 색은 사라짐. RTF만, HTML만 올려도 마찬가지. 다음은 출처 각도: 클립보드에는 "소유자"가 기록되지만 Windows는 OpenClipboard에 전달된 창 핸들이 누구 것인지 검증하지 않습니다. 그래서 Word의 메인 창 핸들을 직접 넘겨 전체 형식을 재생하고, GetClipboardOwner로 소유자가 Word 자신의 창이 되었음을 확인했습니다. 평범한 Ctrl+V는 그래도 서식 병합이었습니다.
중간에 돌아길도 있었습니다. 처음에는 RTF에 관례적인 NUL 종결이 빠졌을 거라고 의심해 보완해서 붙여넣어도 사라졌고, 워드패드를 대조군으로 쓰려니 Win11에서는 워드패드가 삭제된 상태였습니다. 대신 RTF를 파일로 저장해 Word로 직접 열면 서식은 온전했습니다.
여기까지 오니 방향은 분명했습니다. 데이터와 출처에서 시도할 수 있는 것은 다 시도했는데도 Word는 무조건 서식 병합이었습니다. 이건 데이터 문제가 아니라 Word가 "다른 프로그램에서 온 내용"에 대해 원래부터 가지고 있는 처리 정책입니다. 자체 콘텐츠와 외부 콘텐츠를 무엇으로 구분하는지는 더 파고들지 않았지만, 결론에는 영향이 없었습니다.
진짜 스위치는 설정이었다
이 정책은 사용자에게 보이는 설정 하나에 자리합니다. 파일 → 옵션 → 고급 → 잘라내기, 복사 및 붙여넣기 → "다른 프로그램에서 붙여넣기".
2024년 5월, Word 팀은 Microsoft 365 공식 블로그에서 Word 2405의 이 기본값 변경을 발표했습니다. "다른 프로그램에서 붙여넣기"가 "원본 서식 유지"에서 "서식 병합"으로 바뀌었다는 것입니다. 즉 우리는 아무것도 잘못 설정한 게 없고, Word를 설치한 시점부터 이랬던 겁니다. "다른 프로그램"으로 분류되는 내용, 그러니까 서드파티 도구가 쓰기 되돌린 모든 것은 Ctrl+V에서 예외 없이 다운그레이드됩니다.
어떻게 할까
- Word 설정 바꾸기(권장): 파일 → 옵션 → 고급 → 잘라내기, 복사 및 붙여넣기에서 "다른 프로그램에서 붙여넣기"를 "원본 서식 유지"로 되돌리면 한 번에 끝납니다. 이건 사용자 자신의 선호이지 도구가 대신 정할 일이 아닙니다.
- 우클릭 붙여넣기: 설정을 바꾸지 않는다면 우클릭 메뉴에서 "원본 서식 유지"를 명시적으로 고르세요. 매번 클릭이 한 번 더 필요합니다.
- 도구 쪽에서는 해결이 안 되고, 해서도 안 됩니다: 모든 클립보드 관리자가 기본 구성에서 똑같은 다운그레이드를 겪습니다. 데이터는 이미 바이트 단위로 충실하고, 그 이상으로 나아가려면 Word로 위장하는 수밖에 없습니다. 그건 붙여넣기 강화가 아니라 사칭 공격입니다.