¹Ù. ÃÖÀûÈ­ ±â¹ýÀÇ Ãæµ¹

¿©·¯ °¡Áö ÃÖÀûÈ­ ±â¹ýµéÀ» Àû¿ëÇÔÀ¸·Î½á ÇÁ·Î±×·¥Àº Á¡Á¡ ´õ »¡¶óÁö°í Àִµ¥ ÀÌ·± ¼º´É Çâ»óÀ» È®ÀÎÇØ °¡¸ç ÄÚµùÀ» ÇÏ´Â °³¹ßÀÚ´Â Âü ½Å¹Ù¶÷ÀÌ ³¯ °ÍÀÌ´Ù. Á¶±Ý »¡¶óÁ³´Ù°í Çؼ­ ¿©±â¼­ ¸¸Á·ÇÒ ¼ö´Â ¾øÀ¸¹Ç·Î ÃÖ´ëÇÑ Èû ´ê´Â µ¥·Î ¿å½ÉÀ» ºÎ·Á º¼¸¸ÇÑ ÀÛ¾÷ÀÌ´Ù. ±×·¡¼­ ¼Óµµ ÃøÁ¤À» Á¤¹ÐÇÏ°Ô Çغ¸°í °¢Á¾ ÇÁ·ÎÆÄÀϸµ ÅøÀ» »ç¿ëÇϱ⵵ ÇÏ°í Äڵ带 ²Ä²ÄÈ÷ Á¡°ËÇغ¸±âµµ Çϴµ¥ ApiEditµµ ¾ÆÁ÷ ´õ ÃÖÀûÈ­ÇÒ °÷ÀÌ ¸¹ÀÌ ³²¾Æ ÀÖ´Ù.

¾î¶² ºÎºÐÀÌ ±×·±Áö Á» ´õ Á¡°ËÇغ¸¸é ±Ý¹æ ´«¿¡ ¶ç´Â ºÎºÐÀÌ Àִµ¥ ¹Ù·Î ÀÔ·ÂÁßÀÇ µ¤¾î¾²±â ó¸®ÄÚµåÀÌ´Ù. µ¤¾î¾²±â °ü·Ã ÄÚµå´Â OnChar, OnImeChar, OnImeCompostion ¼¼ ±ºµ¥°¡ Àִµ¥ ´ëÇ¥ÀûÀ¸·Î ÇѱÛÀ» Á¶¸³ÇÒ ¶§ÀÇ µ¤¾î¾²±â ó¸®Äڵ带 º¸ÀÚ.

 

LRESULT OnImeComposition(HWND hWnd, WPARAM wParam, LPARAM lParam)

{

     ....

              if (bOvr && bNewIns && bPrevSel==FALSE) {

                   if (IsDBCS(off)) {

                        if (buf[off] != ¡®\r¡¯) {

                            Delete(off,2);

                        }

                   } else {

                        Delete(off,1);

                   }

              }

 

              Insert(off,szComp);

              off+=len;

          }

 

µ¤¾î¾²±â ¸ðµåÀ̸é ÇöÀç À§Ä¡ÀÇ ¹®ÀÚ¸¦ Áö¿ì°í »õ·Î ÀԷ¹ÞÀº ¹®ÀÚ·Î ´ëüÇϴµ¥ ÀÌ °úÁ¤¿¡¼­ Delete¿Í Insert°¡ °¢°¢ ÇÑ ¹ø¾¿ È£ÃâµÈ´Ù. Delete¿Í Insert¿¡¼­ °¢°¢ ÀçÁ¤·ÄÀ» ÇϹǷΠµ¤¾î¾²±â ¸ðµå¿¡¼­´Â ÇÑ ±ÛÀÚ°¡ ÀÔ·ÂµÉ ¶§ µÎ ¹ø Á¤·ÄÀ» ÇÏ´Â ¼ÀÀÌ´Ù. Delete È£Ãâ°ú Insert È£Ãâ »çÀÌ¿¡´Â È­¸éÃâ·Âµµ ¾ø°í ij·µÀÌ À̵¿ÇÒ ¸®µµ ¾ø±â ¶§¹®¿¡ Delete¿¡¼­ ±»ÀÌ ÀçÁ¤·ÄÀ» ÇÏÁö ¾Ê¾Æµµ Insert¿¡¼­ ÇÑ ¹ø¸¸ Á¤·ÄÀ» ÇÏ¸é µÈ´Ù. ¹öÆÛÀÇ ÀÓ½ÃÀûÀÎ º¯È­¿¡ ´ëÇؼ­´Â Á¤·ÄÀ» »ý·«ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.

ÀÌ·± ¿¹´Â ¹®ÀÚ¿­ µå·¡±×¸¦ ó¸®ÇÏ´Â CopyString¿¡µµ ÀÖ´Ù. µå·ÓµÈ °÷¿¡ ¸ÕÀú »ðÀÔÇÑ ÈÄ ¼±Åÿµ¿ªÀ» »èÁ¦Çϴµ¥ »ðÀÔÇÒ ¶§ Á¤·ÄÇÏ°í »èÁ¦ÇÒ ¶§ ¶Ç Á¤·ÄÀ» ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. »ðÀÔÇÒ ¶§´Â Àá½Ã Á¤·ÄÇÏÁö ¾Ê°í µÎ¾ú´Ù°¡ »èÁ¦ÇÒ ¶§ ÇѲ¨¹ø¿¡ Á¤·ÄÇÏ¸é µÈ´Ù. Áï Delete¿Í Insert ÇÔ¼ö´Â Ç×»ó Á¤·ÄÀ» ÇÒ ÇÊ¿ä¾øÀÌ ÇÊ¿äÇÒ ¶§¸¸ Á¤·ÄÀ» Çϵµ·Ï ó¸®ÇÒ ¼ö Àִµ¥ ÀÌ ÇÔ¼öµéÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù°í Çغ¸ÀÚ. ¹®Á¦°¡ ÀÖ´Â ÄÚµåÀ̹ǷΠÁ÷Á¢ ½Ç½ÀÇÏÁö ¸»°í º¸±â¸¸ ÇÏÀÚ.

 

void Insert(int nPos, TCHAR *str, BOOL bTemp/*=FALSE*/)

{

     ....

     if (bTemp == FALSE) {

          UpdateLineInfo(nPos,lstrlen(str));

          UpdateScrollInfo();

     }

     ....

 

void Delete(int nPos, int nCount, BOOL bTemp/*=FALSE*/)

{

     ....

     if (bTemp == FALSE) {

          UpdateLineInfo(nPos,-nCount);

          UpdateScrollInfo();

     }

}

 

bTemp¶ó´Â µðÆúÆ® Àμö°¡ Çϳª Ãß°¡µÇ¾úÀ¸¸ç ÀÌ Àμö°¡ TRUE°ªÀ» °¡Áö¸é ÀÓ½ÃÀûÀÎ º¯È­À̹ǷΠÀçÁ¤·ÄÀ» ÇÏÁö ¾Ê´Â °ÍÀÌ´Ù. bTemp°¡ µðÆúÆ®°ªÀÎ FALSEÀÌ¸é º°´Ù¸¥ ÁöÁ¤ÀÌ ¾øÀ¸¹Ç·Î Á¤·ÄÀ» ÇÑ´Ù. µ¤¾î¾²±â ¸ðµå¿¡¼­ »èÁ¦ÇÒ ¶§³ª ¹®ÀÚ¿­ µå·¡±×¿¡¼­ »ðÀÔÇÒ ¶§´Â ÀÌ Àμö¸¦ TRUE·Î ÁÖ¾î Á¤·ÄÇÏÁö ¾Ê¾Æµµ °ð¹Ù·Î ´Ù½Ã Á¤·ÄÇÔ¼ö°¡ È£ÃâµÇ¹Ç·Î º° ¹®Á¦°¡ ¾ø´Ù. ÀÌ·¸°Ô µÇ¸é µ¤¾î¾²±â ó¸®Äڵ峪 ¹®ÀÚ¿­ µå·¡±× Äڵ带 ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÏ¿© ÇÑ ¹øÀÇ ºÒÇÊ¿äÇÑ Á¤·ÄÀ» »ý·«ÇÒ ¼ö ÀÖ´Ù.

 

LRESULT OnImeComposition(HWND hWnd, WPARAM wParam, LPARAM lParam)

{

     ....

              if (bOvr && bNewIns && bPrevSel==FALSE) {

                   if (IsDBCS(off)) {

                        if (buf[off] != ¡®\r¡¯) {

                       Delete(off,2,TRUE);

                        }

                   } else {

                   Delete(off,1,TRUE);

                   }

              }

 

              Insert(off,szComp);

              off+=len;

          }

 

µ¤¾î¾²±â¸¦ À§ÇØ »èÁ¦ÇÒ ¶§´Â Á¤·ÄÇÏÁö ¾Êµµ·Ï ÇßÀ¸¸ç Àá½Ã ÈÄ »ðÀ﵃ ¶§ ÀçÁ¤·ÄÀ» Çϵµ·Ï Çß´Ù. ´Ù¸¥ ºÎºÐµµ ÀÌ·¸°Ô °íÄ¥ ¼ö Àִµ¥ ÀÏ´Ü ÀÌ ÇÔ¼ö¸¸ ¼öÁ¤ÇÑ ÈÄ Á¦´ë·Î µ¿ÀÛÇÏ´ÂÁö Å×½ºÆ®Çغ¸ÀÚ. ¿¹Á¦ ½ÇÇà ÈÄ ¹®ÀåÀ» ÀÔ·ÂÇغ¸°í µ¤¾î¾²±â ¸ðµå¿¡¼­µµ ÀÔ·ÂÇغ¸ÀÚ. ÀÌ ÃÖÀûÈ­ Àü·«Àº »ç½Ç ¹®Á¦°¡ Àִµ¥ ´ÙÀ½ ±×¸²Ã³·³ Å×½ºÆ®¸¦ Çغ¸ÀÚ.

  

ù ¹ø° ÁÙ¿¡ ³× ±ÛÀÚ¸¦ ÀÔ·ÂÇÏ°í 4ÁÙ ¶ç¿ì°í ´Ù¼¸ ¹ø° ÁÙ¿¡ ¼¼ ±ÛÀÚ¸¦ ÀÔ·ÂÇسõ¾Ò´Ù. µ¤¾î¾²±â ¸ðµå¿¡¼­ ¡®Á¤·Ä·çƾ¡¯À» ¡®Á¤¿­ÇÔ¼ö¡¯·Î ¼öÁ¤Çϱâ À§ÇØ ¡®·Ä¡¯ÀÚ¿¡ ij·µÀ» µÎ°í ÀÔ·ÂÇغ¸¸é È­¸éÀÌ ±úÁö´Â °ÍÀ» ¸ñ°ÝÇÒ ¼ö ÀÖ´Ù. ´Ù¼¸ ¹ø° ÁÙÀÌ Á¡Á¡ ¹ØÀ¸·Î ³»·Á°¥ »Ó¸¸ ¾Æ´Ï¶ó ¹®¼­ ³¡¿¡ ¾û¶×ÇÑ ¹®ÀÚ°¡ º¸À̱⵵ ÇÑ´Ù. ¹®¼­°¡ Æı«µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó Á¤·Ä¿¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù.

ÀÌ ¹®Á¦ÀÇ ¿øÀÎÀº µð¹ö±ëÀ» Çغ¸¸é ¾Ë ¼ö Àִµ¥ ¹®ÀÚ°¡ »ðÀ﵃ ¶§ÀÇ Á¤·ÄÁ¤º¸¿¡ ¹®ÀÚÀÇ »èÁ¦ »ç½ÇÀÌ ¹Ý¿µµÇ¾î ÀÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù. Delete¿¡¼­ ÀçÁ¤·ÄÀ» ÇÏÁö ¾Ê¾ÒÀ¸¹Ç·Î Insert¿¡¼­ ÂüÁ¶ÇÏ´Â pLine ¹è¿­Àº »èÁ¦µÇ±â ÀüÀÇ »óÅ ±×´ë·ÎÀ̸ç ÀÌ »óÅ¿¡¼­ 2¹ÙÀÌÆ®°¡ »õ·Î »ðÀÔµÈ °ÍÀ¸·Î ÀνÄÇϹǷΠÀ¯»ç ÆÐÅÏÀ» À߸ø ã´Â °ÍÀÌ´Ù. À§ ¿¹ÀÇ °æ¿ì µÎ ¹ø° ÁÙ¿¡¼­ À¯»ç ÆÐÅÏÀ» ãÁö ¸øÇÏ¸ç ¼¼ ¹ø° ÁÙÀÌ ÀÌÀü Á¤·ÄÀÇ µÎ ¹ø° ÁÙ°ú À¯»çÇÏ´Ù´Â ¿ÀÆÇÀ» ÇÏ°Ô µÈ´Ù. ÀÚ¼¼ÇÑ ¿øÀÎÀ» ¼³¸íÇϱâ´Â ¾î·Æ°í ±»ÀÌ ¸ô¶óµµ »ó°ü¾ø´Âµ¥ ±Ã±ÝÇϸé Á÷Á¢ µð¹ö±ëÇغ¸±â ¹Ù¶õ´Ù.

±×·¸´Ù¸é ¡®ÀÓ½ÃÀûÀÎ ¹öÆÛ º¯È­¿¡ ´ëÇÑ ÀçÁ¤·Ä »ý·«¡¯À̶ó´Â ÃÖÀûÈ­ Àü·«ÀÌ ³í¸®ÀûÀ¸·Î ¹®Á¦°¡ Àִ°¡ ÇÏ´Â Àǹ®ÀÌ Á¦±âµÇ´Âµ¥ ÀÌ Àü·« ÀÚü´Â ±Ùº»ÀûÀ¸·Î ¹®Á¦°¡ ¾ø´Ù. »èÁ¦ ÈÄ °ð¹Ù·Î ´Ù½Ã »ðÀÔÀ» ÇϹǷΠóÀ½ »èÁ¦ÇÒ ¶§´Â ºÐ¸íÈ÷ Á¤·ÄÀ» »ý·«ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â ¹®Á¦°¡ »ý°å´Âµ¥ ±× ÀÌÀ¯´Â ÀÌ Àü·«(AÀü·«)°ú ÈĹæ Á¤·Ä °£¼ÒÈ­ Àü·«(BÀü·«)ÀÌ Ãæµ¹À» Ç߱⠶§¹®ÀÌ´Ù.

¸¸¾à BÀü·«À» ¾²Áö ¾Ê¾Ò´Ù¸é UpdateLineInfo ÇÔ¼ö´Â Ç×»ó GetLine ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ½ÇÁ¦ ¸Þ¸ð¸®ÀÇ »óŸ¦ º¸°í Á¤·ÄÀ» ÇÒ °ÍÀÌ°í ÀÌ »óŶó¸é AÀü·«Àº ³í¸®ÀûÀ¸·Î ¾Æ¹« ¹®Á¦°¡ ¾ø´Ù. BÀü·«Àº Á¤·Ä °£¼ÒÈ­¸¦ À§ÇØ ÀÌÀü Á¤·ÄÁ¤º¸ÀÎ pLineÀ» ÀçÈ°¿ëÇϹǷΠpLineÀº Ç×»ó ¸Þ¸ð¸®ÀÇ ½ÇÁ¦ »óȲ°ú °°¾Æ¾ß ÇÑ´Ù. ±×·¯³ª AÀü·«Àº ºÒÇÊ¿äÇÑ Á¤·Ä »ý·«À» À§ÇØ pLineÀÌ Àá½Ã µ¿¾ÈÀÌ¶óµµ ¸Þ¸ð¸®¿Í ºÒÀÏÄ¡ÇÑ »óȲÀ» ¸¸µé¾î ³»¸ç ÀÌ »óÅ¿¡¼­ BÀü·«ÀÌ ¸ÔÇô µé¾î°¡±â À§ÇÑ ÀüÁ¦ Á¶°ÇÀÌ Æı«µÈ °ÍÀÌ´Ù.

»óȲÀÌ ¹«Ã´ º¹ÀâÇѵ¥ ¿©±â¼­ ¸»ÇÏ°íÀÚ ÇÏ´Â °ÍÀº ÃÖÀûÈ­¸¦ °úÇÏ°Ô ÇÏ´Ù º¸¸é ÃÖÀûÈ­ ¹æ¹ý³¢¸® Ãæµ¹ÀÌ ³ª´Â °æ¿ì°¡ ¹Ýµå½Ã ÀÖ´Ù´Â °ÍÀÌ´Ù. º»·¡ ÃÖÀûÈ­¶ó´Â °ÍÀÌ ºÒÇÊ¿äÇÑ µ¿ÀÛÀ» ¾ÈÇϵµ·Ï ÇÏ´Â °ÍÀε¥ ±× ºÒÇÊ¿äÇÑ µ¿ÀÛÀÌ ´Ù¸¥ Äڵ忡¼­´Â ¹Ýµå½Ã ÇÊ¿äÇÒ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù. µÎ Àü·«ÀÌ Ãæµ¹À» ÇßÀ» ¶§´Â µÑ Áß Çϳª¸¦ ¼±ÅÃÇϰųª ¾Æ´Ï¸é ²À µÎ Àü·«À» ´Ù ¾²°í ½Í´Ù¸é Ãæµ¹À» ÇÏÁö ¾Êµµ·Ï ±¸Á¶¸¦ ¹Ù²Ù¾î¾ß ÇÑ´Ù.

À̶§ ¼±ÅÃÀÇ ±âÁØÀº ¹°·Ð ¾î¶² Àü·«ÀÌ ¼Óµµ Çâ»ó¿¡ ´õ ¸¹Àº À̹ÙÁö¸¦ Çϴ°¡ÀÌ´Ù. ÀÌ ¿¹Á¦ÀÇ °æ¿ì AÀü·«¿¡ ÀÇÇÑ Á¤·Ä »ý·«º¸´Ù´Â BÀü·«¿¡ ÀÇÇÑ Á¤·Ä °£¼ÒÈ­°¡ ÈξÀ ´õ È¿°ú°¡ Å©´Ù. ¼öÄ¡ÀûÀ¸·Î ºñ±³¸¦ Çϱâ´Â ¾î·ÆÁö´Â Àû¾îµµ ¸î ½Ê ¹è´Â ´õ Ŭ °ÍÀÌ´Ù. ±×·¯¹Ç·Î °³¹ßÀÚ´Â ´ç¿¬È÷ AÀü·«À» Æ÷±âÇÏ°í BÀü·«À» ÅÃÇß´Ù. ¾îÂ÷ÇÇ Á¤·ÄÀÌ »¡¶óÁö¸é ºÒÇÊ¿äÇÑ Á¤·ÄÀ» ÇÑ ¹ø ´õ ÇÑ´Ù°í Çؼ­ ¸¹ÀÌ ¼ÕÇظ¦ º¸Áöµµ ¾Ê´Â´Ù.

º¸´Ù½ÃÇÇ ÃÖÀûÈ­¸¦ ÇÏ°Ô µÇ¸é Äڵ尡 º¹ÀâÇØÁú »Ó¸¸ ¾Æ´Ï¶ó ¼²ºÒ¸® °í±Þ ±â¹ýÀ» ¾µ ¼ö ¾ø¾î Äڵ带 À¯ÁöÇϱⰡ ¾î·Á¿öÁø´Ù. ³í¸®ÀûÀ¸·Î ¾Æ¹«¸® È®½ÅÀÌ ÀÖ´Ù ÇÏ´õ¶óµµ ÃÖÀûÈ­ ¶§¹®¿¡ ´Ù¸¥ Äڵ尡 ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù´Â º¸ÀåÀ» Çϱâ´Â ¾î·Æ´Ù. ÀÌ·¡ Àú·¡ ÃÖÀûÈ­´Â °áÄÚ ½¬¿î ±â¼úÀÌ ¾Æ´Ñ °ÍÀÌ´Ù. ¿Ö ÃÖÀûÈ­¸¦ ÇÁ·ÎÁ§Æ® °³¹ß ´Ü°èÀÇ Á¦ÀÏ ¸¶Áö¸·¿¡ ÇØ¾ß ÇÏ´ÂÁö ÀÌÇØ°¡ µÉ °ÍÀÌ´Ù.

ÀÌ ¿¹Á¦¿¡¼­ ÃÖÀûÈ­¿¡ ÀÇÇØ ÄÚµå À¯Áö°¡ ¾î·Á¿öÁö´Â ¿¹¸¦ ¶Ç ã¾Æ º¼ ¼ö Àִµ¥ ¹Ù·Î GetRCFromOff ÇÔ¼öÀÌ´Ù. ÀÌ ÇÔ¼ö¸¦ ÁøÀÛ Ã³À½ºÎÅÍ À̺Р°Ë»öÀ» Çϵµ·Ï ÇÏÁö ¿Ö Áö±Ý¿¡¼­¾ß ÀÌ·¸°Ô ÃÖÀûÈ­¸¦ ÇÏ´ÂÁö ÀǾÆÇØÇÒ ¼öµµ ÀÖÀ» °Í °°´Ù. À̺Р°Ë»öÀ̶õ ±×·¸°Ô ¾î·Á¿î ¾Ë°í¸®Áòµµ ¾Æ´Ñµ¥ ¸»ÀÌ´Ù. ÃÖÃÊ ÀÌ ÇÔ¼ö¸¦ ¼øÂ÷ °Ë»öÀ¸·Î ÀÛ¼ºÇß´ø ÀÌÀ¯´Â pLine ¹è¿­ÀÌ ¾ø¾ú±â ¶§¹®ÀÌ´Ù. À̺Р°Ë»öÀ̶õ Á¤·ÄµÈ ¹è¿­À» ±â¹ÝÀ¸·Î Çϱ⠶§¹®¿¡ ½Ç½Ã°£À¸·Î ÁÙ Á¤º¸¸¦ ±¸ÇÏ´Â ±¸Á¶¿¡¼­´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.

±×¸®°í ¼øÂ÷ °Ë»öÀÌ À̺Р°Ë»öº¸´Ù ¹Ýµå½Ã ¿­µîÇÑ ¾Ë°í¸®ÁòÀÌ ¾Æ´Ï¶ó´Â °Íµµ ¾Ë¾Æ µÎ¾î¾ß ÇÑ´Ù. ¾î¶² °æ¿ì´Â ¿ÀÈ÷·Á ¼øÂ÷ °Ë»öÀÌ ´õ ºü¸¦ ¼öµµ ÀÖ°í Ưº°ÇÑ Á¶°ÇÀÌ ¾ø¾îµµ °Ë»öÀÌ °¡´ÉÇÑ °Íµµ Å« ÀåÁ¡ÀÌ´Ù. À̺Р°Ë»öÀÌ °¡´ÉÇÏ·Á¸é Ç×»ó ¸ðµç ÀÚ·áÀÇ Á¤·Ä »óŸ¦ À¯ÁöÇØ¾ß Çϴµ¥ À̰͵µ º¸Åë ¾î·Á¿î ÀÏÀÌ ¾Æ´Ï´Ù. µÎ ¾Ë°í¸®ÁòÀº °Ë»ö ¹æ¹ýÀÇ ´Ù¸¥ Á¾·ùÀÏ »ÓÀÌÁö ¸ðµç °æ¿ì¿¡ À־ À̺Р°Ë»öÀÌ ´õ ¿ì¿ùÇÏ´Ù´Â ¹ýÀº ¾ø´Ù. ÀÌ·¸°Ô GetRCFromOff ÇÔ¼ö¸¦ À̺Р°Ë»ö¹ýÀ¸·Î °³¼±ÇÏ¸é ¸ðµç °ÍÀÌ ´Ù ÁÁ¾ÆÁú °Í °°Áö¸¸ ±×·¸Áöµµ ¾Ê´Ù.

ÀÌ ÇÔ¼ö ÀÚü¸¸À¸·Î º¼ ¶§´Â À̺Р°Ë»öÀÌ Å¹¿ùÇÑ ¼±ÅÃÀÌ µÉ ¼ö ÀÖÁö¸¸ ´Ù¸¥ ÃÖÀûÈ­ ¹æ¹ý°ú °áÇյǸé Â÷¶ó¸® ¼øÂ÷ °Ë»öÀÌ ´õ ³ªÀ» ¼öµµ ÀÖ´Ù. À̺Р°Ë»öÀ̶õ Á¤·ÄµÈ ¿ÏÀüÇÑ Á¤º¸°¡ ÀÖ¾î¾ß °¡´ÉÇÑ ¹æ¹ýÀÌ´Ù. ±×·¡¼­ ÀÌ ÇÔ¼ö°¡ À̺Р°Ë»öÀ» »ç¿ëÇÏ´Â ¼ø°£ºÎÅÍ pLineÀº Ç×»ó ¿ÏÀüÇØ¾ß ÇÑ´Ù´Â Á¦¾àÀÌ »ý±â°Ô µÈ´Ù. ¹é±×¶ó¿îµå Á¤·ÄÀ̶óµç°¡ ½º·¹µå¸¦ µ¹·Á °¡¸ç ´Ù¸¥ ÀÛ¾÷À» ÇÒ ¶§´Â Ç×»ó ÀÌ Á¡À» Á¶½ÉÇØ¾ß ÇÏ´Â ºÎ´ãÀÌ »ý±ä °ÍÀÌ´Ù.