<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
 <title type="html">BLUEnLIVE&amp;#039;s ZockrWorld</title>
 <id>http://zoc.kr/atom</id>
 <link rel="alternate" type="text/html" hreflang="ko" href="http://zoc.kr/"/>
 <subtitle type="html">BLUEnLIVE의 영화, 컴퓨터 그리고, 일상의 소소한 얘기들</subtitle>
 <updated>2010-03-10T21:49:25+09:00</updated>
 <generator>Textcube.com 2.0 Garnet</generator>
 <entry>
  <title type="html">캡쳐한 거대 위성사진 쉽게 자르기 v1.1 (goohwan님 전용)</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/821"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/821" thr:count="2" thr:updated="2010-03-10T13:24:13+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="goohwan"/>
  <category term="qaos"/>
  <category term="&#xC798;&#xB77C;&#xB0B4;&#xAE30;"/>
  <category term="&#xC9C0;&#xB3C4;"/>
  <category term="&#xCEA1;&#xCCD0;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/821</id>
  <updated>2010-03-10T21:24:45+09:00</updated>
  <published>2010-03-10T13:00:49+09:00</published>
  <summary type="html"> 캡쳐한 거대 위성사진 쉽게 자르기 (goohwan님 전용) by BLUEnLIVE | 2010/03/06 20:38 QAOS에 다음 위성사진 스크린샷 하는 방법좀 알려주세요라는 goohwan 님의 절규어린 질문이 올라왔다. 해결책은 의외로 간단했다. Firefox +... 지난 포스트에서 공개한 프로그램의 기능 미비점 보완 및 기능 수정. 수정된 부분은 아래와 같다. 1. 구현을 빠뜨린 파일 찾기 버튼 기능 구현 2. MapCropper.ini 파일을 통해 기본 설정 저장 [global] LEFT=10 RIGHT=0 UP=8 DOWN=77 WIDTH=1600 JPEGQUALITY=100 다운은 아래에서 받으면 되며, 압축을 풀면 INI 파일도 함께 들어있다. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/821&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=6111826&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">notepad2 4.1.24 패치버전 공개 (한글판)</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/820"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/820" thr:count="8" thr:updated="2010-03-10T16:47:54+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="IT"/>
  <category term="Notepad2"/>
  <category term="&#xD328;&#xCE58;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/820</id>
  <updated>2010-03-08T21:10:34+09:00</updated>
  <published>2010-03-08T21:10:34+09:00</published>
  <summary type="html"> notepad2 4.1.24 패치버전 공개 (영문판) by BLUEnLIVE |&amp;nbsp;2010/03/07 10:48 지난 3월 2일 드디어 notepad2가 4.1.24로 업데이트되었다. 4.1.24에서 수정된 내용은 아래와 같으며, - /z command line switch (support re... okto 님께서 노력해주신 덕분에 notepad2 4.1.24의 한글화작업을 무사히 마쳤다. (이 버전에서 수정된 내역은 이전 포스트 참고) 수정된 버전은 아래 링크에서 다운받을 수 있으며, 같은 내용은 okto님의 포스트에서도 확인할 수 있다. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/820&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=6089179&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">notepad2 4.1.24 패치버전 공개 (영문판)</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/819"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/819" thr:count="3" thr:updated="2010-03-08T20:40:59+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="IT"/>
  <category term="Notepad2"/>
  <category term="&#xD328;&#xCE58;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/819</id>
  <updated>2010-03-08T21:10:59+09:00</updated>
  <published>2010-03-07T10:48:57+09:00</published>
  <summary type="html">지난 3월 2일 드디어 notepad2가 4.1.24로 업데이트되었다. 4.1.24에서 수정된 내용은 아래와 같으며, - /z command line switch (support registry-based Notepad replacement) - /u command line switch (launch Notepad2 with elevated privileges) - Fixed some /p command line switch options not working properly - Display more informative error messages for file operation failures - Hotkey to copy pathname of current file to clipboard (Shift+F9) - Window title indicator when running with elevated privileges - Ini-options to control system MRU, taskbar and jump list behaviour - Enhanced portability for directory settings inside My Documents - Configure whether tab key should reformat indenting whitespace - Revised word wrap settings dialog and added more detailed options - New style setting to control font smoothing (see FAQ on my website) - New style setting to control size of visible white space dots - Improved cursor visibility on any background color - Added new &amp;quot;HTML Element Text&amp;quot; and &amp;quot;XML Element Text&amp;quot; styles - Improved default style utilization for HTML-embedded schemes - Updated PowerShell keywords to version 2.0 - Added missing keywords to VBScript scheme - Fixed deleted files reappearing in MRU lists - Updated Scintilla library to 2.03 기존 패치에 적용했던 Kai Liu님의 패치도 대부분 수작업으로 적용했다. - np2-4.0.22-build_amd64_manifest.patch - np2-4.0.22-build_misc.patch - np2-4.0.22-call_macros.patch - np2-4.0.22-default_font.patch - np2-4.0.22-img_exec_replace.patch - np2-4.0.22-misc.patch - np2-4.0.22-dos_encoding.patch - np2-4.0.22-folding.patch - np2-4.0.22-messagebox_icons.patch - np2-4.0.22-lexers_au3_bash_latex_tcl.patch - np2-4.0.22-lexers_inno_nsis.patch 또한, 한글 IME 문제 해결 등의 패치도 모두 적용했다. - notepad2 컴파일 삽질기 8 : 한글 IME 패치 - notepad2 컴파일 삽질기 부록#5.1 : context-menu 기능 수정 - notepad2 컴파일 삽질기 부록#6 : 메모장 대신 사용 (재포스팅) - notepad2 컴파일 삽질기 부록#4 : AutoHotkey 스킴 추가 (포스트 내용과 다소 다름) - notepad2 컴파일 삽질기 부록#7 : Shift+마우스 휠에 Page Up/Down 기능 부여 - notepad2 컴파일 삽질기 부록#9 : 다음 바꾸기(Replace Next) 메뉴에 추가 - notepad2 컴파일 삽질기 부록#10 : 시간/날짜 삽입 순서 변경 실행 화면은 아래와 같으며, 아래 파일을 다운받아 압축을 풀면 사용할 수 있다. 덧. 번역 작업은 현재 99% 완료되었으며, 완성되면 공개할 예정임. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/819&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</summary>
 </entry>
 <entry>
  <title type="html">[인빅터스]를 보기 위해 간단하게 설명한 럭비 경기 규칙</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/818"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/818" thr:count="2" thr:updated="2010-03-08T22:51:06+09:00"/>
  <category term="&#xC601;&#xD654; &#xAD00;&#xB828; &#xC7A1;&#xB2F4;"/>
  <category term="&#xB12C;&#xC2A8; &#xB9CC;&#xB378;&#xB77C;"/>
  <category term="&#xB7ED;&#xBE44;"/>
  <category term="&#xB9F7; &#xB370;&#xC774;&#xBA3C;"/>
  <category term="&#xBAA8;&#xAC74; &#xD504;&#xB9AC;&#xBA3C;"/>
  <category term="&#xC778;&#xBE45;&#xD130;&#xC2A4;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/818</id>
  <updated>2010-03-07T01:52:35+09:00</updated>
  <published>2010-03-07T01:39:15+09:00</published>
  <summary type="html">이 시대의 위대한 지도자 중 한 명인 넬슨 만델라 전 대통령이 등장하는 영화 [인빅터스]가 개봉되었다. 하지만, 남아프리카 공화국 그리고, 럭비라는 낯선 소재들로 인해 개봉관을 많이 잡지는 못한 것 같다. 사실, 이 영화에서 다루는 주요 내용들은 놀랄만치 우리나라와 닮아있다. 국제적인 인지도와 국내 인지도의 엄청난 차이를 보이는 대통령, 그 대통령 재임 시에 자국에서 열린 월드컵, 그리고 그 월드컵에서 자국팀의 성적으로 인해 하나가 되는 나라... 등등. (게다가 올해 남아프리카공화국에서 축구 월드컵이 열린다) 그럼에도 불구하고, 럭비라는 스포츠는 우리나라에서 잘 알려져있지 않다. 영화를 좀 더 편하게 볼 수 있도록 간단히 럭비의 규칙을 설명한다. 1. 럭비는 크게 럭비 유니온과 럭비 리그로 나뉘는데, 우리나라를 포함한 대부분의 나라는 럭비 유니온 규칙을 사용함 &amp;nbsp;&amp;nbsp; (이하 언급되는 모든 럭비는 럭비 유니온을 의미함) 2. 경기는 전후반으로 나뉘며, 경기시간은 전후반 각 40분, 총 80분임 3. 공은 가죽 재질의 타원형 모양이며, 장지름은 28~30cm임 4. 일반적으로 15인제 경기를 하며 7인제 경기도 이루어짐 5. 헤드 기어, 마우스 피스, 정강이 보호대 이외의 장구는 기본적으로 착용 불가. &amp;nbsp;&amp;nbsp; 특히, 심판이 판단하여 타 선수에게 위험을 초래할 수 있는 것은 제거를 요구할 수 있음 &amp;nbsp;&amp;nbsp; (물론, 어느 스포츠와도 마찬가지로 심판의 권한은 절대적임) 6. 점수는 트라이 5점, 드롭 골, 페널티 골 각 3점, 컨버전 골 2점임 &amp;nbsp;&amp;nbsp; - 트라이: 상대방 골라인 바깥쪽까지 공을 갖고 가서 바닥에 찍는 것 (유식하게 말하면 인골 지역에 그라운드 하는 것) &amp;nbsp;&amp;nbsp; - 드롭 골: 경기 중에 공을 차서 골포스트 사이의 크로스바를 넘기는 것 &amp;nbsp;&amp;nbsp; - 페널티 골: 상대팀이 반칙을 하면 반칙당한 위치에서 공을 차서 골포스트 사이의 크로스바를 넘기는 것 &amp;nbsp;&amp;nbsp; - 컨버전 골: 트라이를 성공하면 추가 킥 기회를 줌. 이 때 공을 차서 골포스트 사이의 크로스바를 넘기는 것 7. 모든 선수는 공보다 뒤에 있어야 함. 이것을 온 사이드(on-side)라고 하고, 공보다 앞에 가면 오프 사이드(off-side)라 함. &amp;nbsp;&amp;nbsp; 이 규칙이 축구로 전해진 것이 축구의 오프 사이드임. 8. 모든 패스는 옆이나 뒤로만 이루어짐. 앞으로 패스할 수 없으며, 오직 킥만 가능함. &amp;nbsp;&amp;nbsp; (이 규칙이 미식축구와 가장 큰 차이임. 미식축구는 쿼터백이 있음!) 그 외에도 알아두면 영화 보기 편한 상식들... 1. 영화에서 등장하는 남아프리카공화국 럭비 대표팀의 이름은 스프링복으로 실존하는 국가대표팀임. 2. 뉴질랜드 대표팀 마오리 올 블랙스는 언제나 경기 전에 하카(Haka)라는 의식을 함 &amp;nbsp;&amp;nbsp; (뉴질랜드 국가대표팀은 키위 올 블랙스와 마오리 올 블랙스 두 팀임) 3. 영화에 등장하는 결승전은 1995년 6월 24일 열렸으며, 경기 점수는 영화와 동일함 4. 마오리 올 블랙스는 정말 럭비 강팀으로 언제나 우승후보지만, 막상 우승은 많이 하지 못함. &amp;nbsp;&amp;nbsp; 영화의 배경이 되는 1995년에는 집단 설사가 발생했다고 하는데, 뉴질랜드 측 주장이라 확인은 불가한 듯. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/818&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=6068586&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">캡쳐한 거대 위성사진 쉽게 자르기 (goohwan님 전용)</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/817"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/817" thr:count="11" thr:updated="2010-03-10T13:01:05+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="goohwan"/>
  <category term="qaos"/>
  <category term="&#xC798;&#xB77C;&#xB0B4;&#xAE30;"/>
  <category term="&#xC9C0;&#xB3C4;"/>
  <category term="&#xCEA1;&#xCCD0;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/817</id>
  <updated>2010-03-07T00:44:01+09:00</updated>
  <published>2010-03-06T20:38:40+09:00</published>
  <summary type="html">QAOS에 다음 위성사진 스크린샷 하는 방법좀 알려주세요라는 goohwan 님의 절규어린 질문이 올라왔다. 해결책은 의외로 간단했다. Firefox + Screengrab! 조합이었다. 그런데, 문제는 이렇게 캡쳐된 이미지의 크기가 무려 6152x6229인데, 주변 여백을 일일이 잘라내야 된다는 거... 작은 이미지라도 잘라내는 것이 번거로운데, 이렇게나 커다란 놈을 잘라내는 건 귀차니즘의 극치다... 그래서 프로그램을 하나 간단하게 만들었다. 잘라내야 하는 여백의 크기가 일정해서 만드는 것 자체는 큰 문제가 없었다. 문제가 있었다면... 주말에 회사에 일 하러 들어와서 만들었다는 거... (혹시 오해는 마시길... 할 일 다 한 다음에 집에 안 가고 만든 거임) 아래 파일을 다운받은 뒤에 압축을 풀면 된다. 실행파일 하나만 달랑 들었고, 설정 저장 같은 기능은 없다. 1시간 동안 후다닥 만든 프로그램이라... ㅎㅎ 덧. 갑자기 생각났다! 찾기 버튼의 기능을 구현하지 않았다! 생성된 파일을 에디트 박스에 드롭하는 방법밖에 없다! (goohwan님 죄송. 기능 수정은 월욜에 할게요~ ^^;) &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/817&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</summary>
 </entry>
 <entry>
  <title type="html">notepad2 컴파일 삽질기 8 : 한글 IME 패치</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/816"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/816" thr:count="6" thr:updated="2010-03-08T20:40:33+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="IME"/>
  <category term="IT"/>
  <category term="Notepad2"/>
  <category term="&#xD328;&#xCE58;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/816</id>
  <updated>2010-03-05T09:32:54+09:00</updated>
  <published>2010-03-04T23:36:42+09:00</published>
  <summary type="html"> notepad2 4.1.24 업데이트! 그런데!!! by BLUEnLIVE | 2010/03/04 21:32 notepad2가 4.1.24로 업데이트 되었다. 이전 버전인 4.0.23으로 충분히 완벽해졌다고 생각했는데, Florian Balmer 님께선 아직 업뎃이 고픈가... 이전 포스트에서 얘기한 notepad2 4.1.24의 한글 IME 패치방법을 설명하기에 앞서, 몇 가지 작업을 해야한다. 0. 들어가기 전에 다음과 같은 내용은 모두 준비가 되어있다고 가정하고 설명함. a. Visual C++ v6.0 및 Service Pack 6 설치 b. Platform SDK 설치 (Windows® Server 2003 R2 Platform SDK ISO Download) c. Scintilla 2.03 1. Visual C++ 6.0을 위한 dsp 파일 생성 notepad2의 소스에는 VC6을 위한 dsp 파일이 없다. VC7을 기준으로 만들어졌기 때문이다. 얼마전까지(정확히는 4.0.22-beta5 까지) notepad2의 기능추가 패치를 제작하시던 Kai Liu님이 notepad2 패치 작업을 중단했는데, Kai Liu 님의 패치 중에 VC6을 위한 dsp 파일 생성이 포함되어 있었다. 따라서, VC6에서 notepad2를 컴파일하려면 dsp 파일을 다시 만들어야 한다. 아래 파일을 다운받아 압축을 푼 뒤에 notepad2 소스의 루트 폴더에 저장한다. 2. Edit.c 버그 수정 EditTitleCase() 함수에서 아래와 같은 부분을 찾는다. [code cpp]if (!IsCharAlphaNumericW(pszTextW[i]) &amp;amp;&amp;amp; !StrChr(L&amp;quot;&amp;#039;?,pszTextW[i])) {[/code] 이 부분을 아래와 같이 수정한다. [code cpp]if (!IsCharAlphaNumericW(pszTextW[i]) &amp;amp;&amp;amp; !StrChr(L&amp;quot;&amp;#039;&amp;quot;,pszTextW[i])) {[/code] 이건 그냥 notepad2의 버그다. 제작자 Balmer 님께 문의를 했는데, 패치할 의지가 없다는 답장을 받았다. 헐~ 3. ScintillaWin.cxx 수정 #1 짜잔~ 이제야 한글 IME 패치를 할 차례가 되었다. 수정할 곳은 이전 패치과 같이 두 군데다. 그 중 첫번째는 WndProc(). WM_IME_STARTCOMPOSITION: 을 찾아 아래와 같이 수정한다. 이 부분은 이전 패치 그대로이다. [code cpp]case WM_IME_STARTCOMPOSITION: &amp;nbsp; &amp;nbsp; // dbcs &amp;nbsp; &amp;nbsp; ImeStartComposition(); &amp;nbsp; &amp;nbsp; // added from here------------------------------------------------- &amp;nbsp; &amp;nbsp; if (LOWORD(GetKeyboardLayout(0))==MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN)) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // if the current IME is the Korean IME, do not show the default IME window &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; // added to here------------------------------------------------- &amp;nbsp; &amp;nbsp; return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam);[/code] 4. ScintillaWin.cxx 수정 #2 HandleComposition()을 찾아 아래 내용으로 대체한다. 이 부분은 이전 패치보다 좀 길어지고, 복잡해졌다. [code cpp]sptr_t ScintillaWin::HandleComposition(uptr_t wParam, sptr_t lParam) { #ifdef __DMC__ &amp;nbsp; &amp;nbsp; // Digital Mars compiler does not include Imm library &amp;nbsp; &amp;nbsp; return 0; #else &amp;nbsp; &amp;nbsp; static int cs &amp;nbsp;&amp;nbsp; = -1; &amp;nbsp; &amp;nbsp; static int undo&amp;nbsp; = -1; &amp;nbsp; &amp;nbsp; static bool comp = false; &amp;nbsp; &amp;nbsp; static bool bEndOfLine, bOverstrike; &amp;nbsp; &amp;nbsp; static bool wasSelection = false; &amp;nbsp; &amp;nbsp; bool bKoreanIME = LOWORD(GetKeyboardLayout(0))==MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN); &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bKoreanIME &amp;amp;&amp;amp; (lParam &amp;amp; GCS_COMPSTR)) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HIMC hIMC = ::ImmGetContext(MainHWND()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (hIMC) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const int maxLenInputIME = 200; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wchar_t wcs[maxLenInputIME]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LONG bytes = ::ImmGetCompositionStringW(hIMC, GCS_COMPSTR, wcs, (maxLenInputIME-1)*2); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int wides = bytes / 2; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int lastitem = sel.Count()-1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int selBegin = sel.Range(lastitem).End().Position(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int selEnd = selBegin; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bytes) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //comp==false 이면 최초 진입 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //undo를 마비시키기 전에 삭제할 글자/블럭 삭제 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!comp) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FilterSelections(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UndoGroup ug(pdoc, (sel.Count() &amp;gt; 1) || !sel.Empty() || inOverstrike); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (size_t r=0; r&amp;lt;sel.Count(); r++) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!RangeContainsProtected(sel.Range(r).Start().Position(), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sel.Range(r).End().Position())) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; selBegin = sel.Range(r).Start().Position(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!sel.Range(r).Empty()) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (sel.Range(r).Length()) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdoc-&amp;gt;DeleteChars(selBegin, sel.Range(r).Length()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sel.Range(r).ClearVirtualSpace(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Range is all virtual so collapse to start of virtual space &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sel.Range(r).MinimizeVirtualSpace(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else if (inOverstrike) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (selBegin &amp;lt; pdoc-&amp;gt;Length()) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!IsEOLChar(pdoc-&amp;gt;CharAt(selBegin))) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdoc-&amp;gt;DelChar(selBegin); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sel.Range(r).ClearVirtualSpace(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; selBegin = InsertSpace(selBegin, sel.Range(r).caret.VirtualSpace()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sel.Range(r).ClearVirtualSpace(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // If in wrap mode rewrap current line so EnsureCaretVisible has accurate information &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (wrapState != eWrapNone) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AutoSurface surface(this); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (surface) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WrapOneLine(surface, pdoc-&amp;gt;LineFromPosition(selBegin)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bOverstrike = inOverstrike; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (cs &amp;lt; 0 &amp;amp;&amp;amp; !bOverstrike) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cs = vs.caretStyle; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vs.caretStyle = CARETSTYLE_BLOCK; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (undo &amp;lt; 0) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; undo = pdoc-&amp;gt;IsCollectingUndo()?1:0; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdoc-&amp;gt;SetUndoCollection(false); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!comp) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; comp = true; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DelChar(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //조합 중 조합중인 글자를 다 지운 경우 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (cs &amp;gt;= 0) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vs.caretStyle = cs; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cs = -1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (comp) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; comp = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DelChar(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (undo &amp;gt;= 0) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdoc-&amp;gt;SetUndoCollection(undo==1); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; undo = -1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MovePositionTo(selBegin); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inOverstrike = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (IsUnicodeMode()) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char utfval[maxLenInputIME * 3]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int len = UTF8Length(wcs, wides); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UTF8FromUTF16(wcs, wides, utfval, len); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; utfval[len] = &amp;#039;\0&amp;#039;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddCharUTF(utfval, len); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char dbcsval[maxLenInputIME * 2]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int size = ::WideCharToMultiByte(InputCodePage(), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0, wcs, wides, dbcsval, sizeof(dbcsval) - 1, 0, 0); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i=0; i&amp;lt;size; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddChar(dbcsval[i]); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inOverstrike = bOverstrike; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MovePositionTo(selBegin); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (lParam &amp;amp; GCS_RESULTSTR) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //앞의 if문 6개는 모두 한글 입력기에서만 동작 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //다른 언어 IME에서는 패스 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (comp) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; comp = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DelChar(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (cs &amp;gt;= 0) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; vs.caretStyle = cs; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cs = -1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (undo &amp;gt;= 0){ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdoc-&amp;gt;SetUndoCollection(undo==1); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; undo = -1; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //덮어쓰기에서 한글 조합 중 마지막에 숫자나 기호를 붙인 경우 한 글자 더 삭제(가9) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool bKoreanPlusOneMore = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bKoreanIME &amp;amp;&amp;amp; bOverstrike) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HIMC hIMC = ::ImmGetContext(MainHWND()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (hIMC) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const int maxLenInputIME = 200; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wchar_t wcs[maxLenInputIME]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LONG bytes = ::ImmGetCompositionStringW(hIMC, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GCS_RESULTSTR, wcs, (maxLenInputIME-1)*2); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int wides = bytes / 2; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char dbcsval[maxLenInputIME * 2]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int size = ::WideCharToMultiByte(InputCodePage(), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0, wcs, wides, dbcsval, sizeof(dbcsval) - 1, 0, 0); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bKoreanPlusOneMore = (size==3); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::ImmReleaseContext(MainHWND(), hIMC); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bKoreanPlusOneMore) DelChar(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bKoreanIME) inOverstrike = false; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HIMC hIMC = ::ImmGetContext(MainHWND()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (hIMC) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const int maxLenInputIME = 200; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wchar_t wcs[maxLenInputIME]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LONG bytes = ::ImmGetCompositionStringW(hIMC, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GCS_RESULTSTR, wcs, (maxLenInputIME-1)*2); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int wides = bytes / 2; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (IsUnicodeMode()) { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char utfval[maxLenInputIME * 3]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unsigned int len = UTF8Length(wcs, wides); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UTF8FromUTF16(wcs, wides, utfval, len); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; utfval[len] = &amp;#039;\0&amp;#039;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddCharUTF(utfval, len); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char dbcsval[maxLenInputIME * 2]; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int size = ::WideCharToMultiByte(InputCodePage(), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0, wcs, wides, dbcsval, sizeof(dbcsval) - 1, 0, 0); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i=0; i&amp;lt;size; i++) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AddChar(dbcsval[i]); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Set new position after converted &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Point pos = LocationFromPosition(sel.Range(0).End().Position()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COMPOSITIONFORM CompForm; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CompForm.dwStyle = CFS_POINT; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CompForm.ptCurrentPos.x = pos.x; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CompForm.ptCurrentPos.y = pos.y; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::ImmSetCompositionWindow(hIMC, &amp;amp;CompForm); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ::ImmReleaseContext(MainHWND(), hIMC); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bKoreanIME) inOverstrike = bOverstrike; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0; &amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ::DefWindowProc(MainHWND(), WM_IME_COMPOSITION, wParam, lParam); #endif }[/code] 이렇게 수정하면 아래와 같이 언제나 정상적으로 한글 입력이 가능한 notepad2를 만날 수 있다. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/816&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=6045785&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">notepad2 4.1.24 업데이트! 그런데!!!</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/815"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/815" thr:count="1" thr:updated="2010-03-08T20:40:26+09:00"/>
  <category term="&#xCEF4;&#xD4E8;&#xD130; &#xC77C;&#xBC18;"/>
  <category term="IME"/>
  <category term="IT"/>
  <category term="Notepad2"/>
  <category term="&#xD328;&#xCE58;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/815</id>
  <updated>2010-03-04T23:37:19+09:00</updated>
  <published>2010-03-04T21:32:43+09:00</published>
  <summary type="html">notepad2가 4.1.24로 업데이트 되었다. 이전 버전인 4.0.23으로 충분히 완벽해졌다고 생각했는데, Florian Balmer 님께선 아직 업뎃이 고픈가보다. 이번 버전에서도 (이전과 같이) 커다란 변화가 있었다. - /z command line switch (support registry-based Notepad replacement) - /u command line switch (launch Notepad2 with elevated privileges) - Fixed some /p command line switch options not working properly - Display more informative error messages for file operation failures - Hotkey to copy pathname of current file to clipboard (Shift+F9) - Window title indicator when running with elevated privileges - Ini-options to control system MRU, taskbar and jump list behaviour - Enhanced portability for directory settings inside My Documents - Configure whether tab key should reformat indenting whitespace - Revised word wrap settings dialog and added more detailed options - New style setting to control font smoothing (see FAQ on my website) - New style setting to control size of visible white space dots - Improved cursor visibility on any background color - Added new &amp;quot;HTML Element Text&amp;quot; and &amp;quot;XML Element Text&amp;quot; styles - Improved default style utilization for HTML-embedded schemes - Updated PowerShell keywords to version 2.0 - Added missing keywords to VBScript scheme - Fixed deleted files reappearing in MRU lists - Updated Scintilla library to 2.03 1. 업데이트된 Scintilla의 기능을 충실히 활용하지 못하는 notepad2 이 변화 중에 가장 주목해야 될 부분이 바로 Scintilla가 2.03으로 업데이트 되었다는 것이다. Scintilla는 1.x에서 2.x로 업데이트되면서 커다란 변화가 생겼는데, 바로 다중입력 기능이 추가되었다는 것이다. 즉, 컬럼블럭(alt+마우스 선택)을 잡은 상태에서 글을 입력하면 여러 줄에 같은 내용이 동시에 입력된다. 하지만, notepad2는 Scintilla 2.03을 기반으로 하면서도 이 기능을 지원하지 않는다. 아마도 notepad2의 undo-redo 구조와 맞지 않은 것이 원인인 듯 하다. 2. 새롭게 발생한 오류 notepad2 4.1.24에서 alt+마우스 선택을 이용해서 컬럼블럭을 설정한 뒤 한글을 입력하면 아래와 같이 깨져나온다. 새롭게 추가된 기능을 제대로 활용하지도 않으면서 오류만 발생하는 슬픈(?) 현상이 발생하는 것이다. OTL ※ 이 화면은 IME2002에서 동작하는 화면이며, IME2003에서는 조금 달라보이긴 하지만, 발생하는 오류는 동일함. 3. 결국 HandleComposition()을 다시 패치 외형적으로는 notepad2 4.0.23와 4.1.24는 비슷하게 동작하지만, 한글 IME 패치는 완전히 다시 작성해야 한다. 내부적으로 변경된 기능을 충실하게 반영하도록 수정해야 하는 것이다. OTL 결국... 결국... 며칠 간의 삽질 끝에 HandleComposition()을 패치하고야 말았다! 패치하는 법은 다음 포스트에서 설명하도록 하겠다. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/815&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=6045790&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">안도 미키의 안무를 보면서 [나를 사랑한 스파이]가 떠올랐다</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/814"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/814" thr:count="4" thr:updated="2010-03-05T00:55:29+09:00"/>
  <category term="James Bond 007"/>
  <category term="007"/>
  <category term="&#xAE40;&#xC5F0;&#xC544;"/>
  <category term="&#xC548;&#xB3C4; &#xBBF8;&#xD0A4;"/>
  <category term="&#xC601;&#xD654;"/>
  <category term="&#xC774;&#xC9D1;&#xD2B8;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/814</id>
  <updated>2010-02-26T23:40:47+09:00</updated>
  <published>2010-02-26T23:40:47+09:00</published>
  <summary type="html">밴쿠버 동계올림픽에서 &amp;quot;여신&amp;quot; 김연아 선수가 넘사벽을 쌓으며 &amp;quot;여자 인간 최강자&amp;quot; 아사다 마오를 이기고 금메달을 획득했다. 두 선수는 워낙 많은 매체에서 다루니까 잠시 패스하고, 그 앞에 연기한 안도 미키 선수 이야기를 잠시 하자면... 난 안도 미키 선수의 의상이 개인적으로 굉장히 거슬렸다. &amp;quot;이집트에서 온&amp;quot; 일본 소녀의 컨셉... 웃기지 않은가? 뭐, 내 돈 들여 옷을 사준 건 아니지만... 그리고, 의상만큼이나 눈에 거슬린 것은 그녀의 손동작이었다. 피겨는 잘 모르지만, 그래도 여신님의 연기를 보다 보니 몸동작에 맞는 우아한 손동작이 꼭 필요하다는 건 알고 있다. 그런데, 안도 미키 선수의 안무는... 우아하지도 않았고, 몸과 손이 따로 도는 느낌이었다. 비슷한 모습을 본 적이 있었는데, 다름 아닌 [007 나를 사랑한 스파이]의 다찌마리 장면이었다. 이 영화에서 본드가 피라밋에서 (소련 요원) 아마조바 소령의 쫄따구들과 1:2로 한판 뜨시는 장면이 있다. 이 때 본드의 동작 중 일부를 이집트 벽화에서 따왔는데, 이 부분들을 보면 왠지 좀 어설프다. 피겨는 피겨답게, 액션은 액션답게 해야 되지 않을까? &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/814&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</summary>
 </entry>
 <entry>
  <title type="html">CGV 니들 예약 시스템은 왜 이리 개념이 없니?</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/813"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/813" thr:count="6" thr:updated="2010-03-03T08:07:20+09:00"/>
  <category term="&#xC601;&#xD654; &#xAD00;&#xB828; &#xC7A1;&#xB2F4;"/>
  <category term="CGV"/>
  <category term="&#xB9C9;&#xC7A5;"/>
  <category term="&#xC601;&#xD654;"/>
  <category term="&#xC608;&#xC57D;&#xC2DC;&#xC2A4;&#xD15C;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/813</id>
  <updated>2010-02-25T20:21:41+09:00</updated>
  <published>2010-02-25T20:21:12+09:00</published>
  <summary type="html">뭐... 불가능한 꿈인 거 알지만, 그래도 혹시나 하는 마음으로 [아바타] 4D가 예약 가능한가 확인해봤다. 그런데, 다행히(?) 3월 1일 밤 12시에 1석이 남아있었다. 뭐, 보나마나 못 앉는 자리겠지하고 생각하며, 어느 자리인가 확인하려 예약을 진행해봤다. 그런데... 5석이 남아있는 것이다. 물론, 자리야 영화 보기 힘든 자리인 건 사실이지만... CGV 니들 예약 시스템은 왜 이이 개념이 없니? 뭐, 예약 시스템만 엉망인 게 아니라, 서비스나 행사진행 등등 마음에 드는 건 하나도 없지만... &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/813&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div style=&quot;width: 100%;border:0; text-align: center; padding-top: 15px; padding-bottom: 5px;&quot;&gt;&lt;embed src=&quot;http://api.v.daum.net/static/recombox1.swf?nid=5963340&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;400&quot; height=&quot;80&quot; type=&quot;application/x-shockwave-flash&quot;&gt;&lt;/embed&gt;&lt;/div&gt;</summary>
 </entry>
 <entry>
  <title type="html">동계올림픽 쇼트프로그램을 통해 진정한 &amp;quot;본드&amp;quot;걸이 된 김연아</title>
  <link rel="alternate" type="text/html" href="http://zoc.kr/812"/>
  <link rel="replies" type="application/atom+xml" href="http://zoc.kr/atom/discuss/812" thr:count="10" thr:updated="2010-03-04T07:27:09+09:00"/>
  <category term="James Bond 007"/>
  <category term="007"/>
  <category term="&#xAE40;&#xC5F0;&#xC544;"/>
  <author>
   <name>BLUEnLIVE</name>
  </author>
  <id>http://zoc.kr/812</id>
  <updated>2010-02-26T21:47:24+09:00</updated>
  <published>2010-02-24T23:37:10+09:00</published>
  <summary type="html"> 오늘은 사무실 일이 좀 바빴지만, 다행히 점심시간에 김연아 선수가 경기를 하는 덕분에 온라인으로 경기를 볼 수 있었다. 아사다 마오 선수가 한번의 실수 없이 좋은 경기를 보여주고 73.78점이라는 높은 점수를 받은 덕에 좀 긴장하며 경기를 봤는데, 우리의 연아짱은 ㅎㄷㄷ한 실력을 보여주고 78.50점으로 세계신기록을 세워버렸다. 무려 뉴욕 타임즈에서도 그녀의 연기에 대한 기사가 나올 정도로 그녀는 세계적인 스타인 것이다!! 정말 연아짱... &amp;quot;님 좀 짱이신 듯&amp;quot;인 것이다!!! 게다가, 내가 좋아하는 007 영화의 주제곡 메들리로 이런 넘사벽 급 결과를 보여주어 더욱 기분이 좋다... 핫핫. 경기를 보면서 이리저리 느낀 단상들을 정리했다. 본드걸이라고들 표현하는데, 그녀의 연기는 &amp;quot;본드&amp;quot;지 결코 본드걸이 아님. 카리스마 넘치는 그녀의 모습은 여자 본드 즉, &amp;quot;본드&amp;quot;걸인 거임! 이 전에도 007 테마를 사용한 피겨 선수들이 좀 있었음. ※ 상세한 내역은 해맑은아찌님의 블로그 해맑은아찌수다방 확인 해설가가 007 Original Sound Track이라고 얘기하는데, 절대로 OST가 아님. 삽입곡을 편곡한 것을 OST라고 부르면, 내가 부르는 &amp;lt;From Russia With Love&amp;gt;도 OST인 거임! 이 정도면 차기 007 영화에서 카메오로 출연하면 좋겠단 생각이 들었음. 피겨 선수가 본드걸을 맡은 적이 있었음. [유어아이즈온리]에서 비비 역을 맡은 린 홀리 존슨은 1974년 전미 피겨 선수권대회 2위 출신임. 이 영화에서 그녀는 본드를 꼬시려다 실패하는 스케이트 선수 역을 맡았음. (연아짱은 그럼 안 됨!) 오늘 경기의 동영상은 저작권 문제로 구할 수 없고, 2월 21일에 있었던 공식 연습 비디오를 유튜브에서 찾았다. 아쉬운대로 즐감들 하시기 바란다. 그리고... 연아양... 부디 26일 프리스케이팅에서도 좋은 결과를 보여주기 바랍니다. &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://zoc.kr/812&quot;&gt;글 전체보기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</summary>
 </entry>
</feed>
