최근 옛한글 관련 글을 자주 쓰게 되면서 뻔질나게 위키백과의 옛한글 문서를 참조하게 되었습니다. 그런데 파이어폭스에서 소스 보기를 한 뒤 그 소스를 복사하여 스프링노트에 붙여넣기를 하면 엉뚱하게 보였습니다. 물론 확인 결과 어느 쪽도 오류가 없었습니다. 가끔 이런 기가 막힌 경우가 발생하기는 합니다.
잘못도 벌레도 없으나…
스프링노트도 잘못이 없고, 파이어폭스도 잘못이 없습니다. 논리적으로 붙여넣기 기능은 클립보드의 데이터를 붙여넣는 기능일 뿐이니까요. 그 과정에서 기본 편집 모드에서는 위지위그 편집 방식을 사용하고, HTML 편집 모드에서는 텍스트 편집 방식을 사용합니다. 이 말은 곧 위지위그 편집 모드에서는 어떤 개체가 가지는 속성까지 함께 복사하며, HTML 편집 모드에서는 겉으로 드러난 텍스트 데이터만 복사한다는 뜻입니다.
한편 모질라 파이어폭스에서 보여주는 창은 (X)HTML 자료입니다. 심지어 이번에 문제가 된 소스보기 창도 (X)HTML 문서입니다.
확인을 위해 위키백과 :: 옛한글 문서에서 문자열을 선택하여 소스보기를 하였습니다.
소스 보기 화면
이때 위의 소스 보기 화면은 텍스트 데이터에 색상을 입힌 것이 아니라, (X)HTML 데이터에 색상을 입힌 것입니다. 따라서 위 소스 보기 화면에서 전체 선택하여 복사한 뒤 스프링노트 편집모드(기본모드)에 붙여 넣기를 하면 아래와 같이 됩니다.
물론 아래와 같이 그 내용은 제대로 복사되어 있습니다. 다만 모양이 좋지 않을 뿐이죠.
겉으로 드러나지는 않았지만, 저 안에는 (X)HTML 코드가 숨겨져 있습니다. 이는 각자 위키백과에서 소스코드를 붙여넣기 한 다음에 HTML 편집 모드로 바꾸면 알 수 있습니다.
스프링노트를 쓰지 않더라도 티스토리 편집 창에서 HTML로 보기를 하면 역시 알 수 있습니다.
[code html]
<pre id="line1"><<span class="start-tag">span</span><span class="attribute-name"> class</span>=<span class="attribute-value">"jamocomposed_block" </span><span class="attribute-name">style</span>=<span class="attribute-value">"font-family: '돋움 옛한글','Dotum Old Hangul','바탕 옛한글','Batang Old Hangul','궁서 옛한글','Gungsuh Old Hangul','굴림 옛한글','NewGulim Old Hangul','은 자모 바탕 확장','Un Jamo Batang Ex','UnJamoBatangEx','은 자모 바탕','Un Jamo Batang','UnJamoBatang','은 바탕','Un Batang','UnBatang',Code2002,Code2001,Code2000,serif; font-size: 105%;"</span>>나랏말ᄊᆞ미 듀ᇰ귁에 달아 문ᄍᆞᆼ와로 서르 ᄉᆞᄆᆞᆺ디 아니ᄒᆞᆯᄊᆡ</<span class="end-tag">span</span>></pre>
[/code]
그렇습니다. 위의 코드를 보면 <pre id="line1"> 태그로 열고 </pre> 태그로 닫았습니다.
뭐, 정확한 기술적인 내용은 저도 모르니, 그냥 저렇게 (X)HTML 코드로 나타내고 있다고만 말하겠습니다. 어쨌든 스프링노트의 편집모드에서는 파이어폭스의 소스 보기 화면이 위와 같은 (X)HTML 코드로 이루어져 있으므로, 그것을 존중하여 아주 잘 나타낸 셈입니다.
물론 사용자가 보기에는 엉뚱해 보이고, 더구나 버그가 아닌가 의심스럽지만, 절대 버그는 아닙니다.
응급 처치
일단 이 현상에 대해 파이어폭스에서 해결책을 내놓지는 않으리라 생각합니다. 넷스케이프 내비게이터가 만들어졌을 때부터 고수한 방식을 지금에 와서 바꾸라고 한다면 그들은 거부할 것이 뻔하기 때문입니다. 그것도 다 바꾸는 게 아니라 특정한 상황만 고려해서 바꾸라고 한다면 "일관성이 없으므로" 무시하게 될 터입니다. 결국 편법을 쓰는 수밖에 없습니다.
아무튼 해결책은 아주 간단합니다. 다른 편집기로 복사하여 붙여넣기를 한 뒤 다시 복사하여 스프링노트로 붙여넣기를 하면 됩니다.
앞의 소스 보기 화면에서 전체를 복사하여 메모장에 붙여넣습니다.
메모장에 붙여넣기를 한 소스 코드
위와 같은 소스 코드는 겉보기에는, 색상을 제외하면, 소스 보기 화면과 다른 점이 없습니다. 그러나 붙여넣기를 하면 다음 그림과 같이 됩니다.
위 그림을 (X)HTML 코드로 나타내면 다음과 같습니다.
[code html]
나랏말ᄊᆞ미 듀ᇰ귁에 달아 문ᄍᆞᆼ와로 서르 ᄉᆞᄆᆞᆺ디 아니ᄒᆞᆯᄊᆡ
[/code]
앞서 보았던 코드와는 상당히 다른 모습을 보여주고 있습니다. 또한 소스 보기 화면에서 본 그 코드로서, 사용자가 복사하기를 바랐던 그 코드이기도 합니다.
원리
앞서 설명한 바와 같이 파이어폭스의 소스 보기 창의 내용은 (X)HTML 코드로 이루어져 있습니다. 이것을 그대로 스프링노트에 붙여넣기를 하면 그 이면에 감추어진 (X)HTML 코드까지 붙여넣게 되므로, 중간 단계를 두어 감추어진 (X)HTML 코드를 없애 버렸을 뿐입니다.
참고로 이렇게 (X)HTML 코드를 없애어 텍스트만 뽑아내는 것을 스트립 또는 (X)HTML 코드 스트립이라고 합니다.
덧붙이며
파이어폭스 소스 보기 창이 (X)HTML 문서인지 아닌지를 알려면, 가장 간단한 방법으로 찾기를 실행해 보면 됩니다. 단축키는 Ctrl+F입니다. 만약 파이어폭스이 일반 화면과 같이 (X)HTML 자료로 구성되어 있다면 찾기 기능을 위한 납작한 창이 맨 아래에 생길 테니까요.
위 그림에서 보면 찾기 창이 맨 아래에 생겨 있습니다.
관련 문서
내부 문서
(없음)
외부 문서
이 글은 스프링노트에서 작성되었습니다.