diff options
author | Jihui Choi <jihui.choi@gmail.com> | 2015-06-22 12:56:10 +0200 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2015-07-16 05:35:30 -0500 |
commit | 188208d93a5d95e1f5eb39294c5e467d6d53edef (patch) | |
tree | 70e2343c2ee432afc507c6fa41c5691eecddf437 | |
parent | 43cf7b9abf1262011b22a7b1a355569585f76b16 (diff) |
tdf#91067: Translate Korean comments
Change-Id: Idbee9cb5a1745bb2cc3c4cb1238773da7ff2a0a3
Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net>
-rw-r--r-- | hwpfilter/source/drawdef.h | 6 | ||||
-rw-r--r-- | hwpfilter/source/formula.cxx | 2 | ||||
-rw-r--r-- | hwpfilter/source/hbox.cxx | 34 | ||||
-rw-r--r-- | hwpfilter/source/hbox.h | 30 | ||||
-rw-r--r-- | hwpfilter/source/hcode.cxx | 66 | ||||
-rw-r--r-- | hwpfilter/source/hinfo.cxx | 56 | ||||
-rw-r--r-- | hwpfilter/source/hiodev.h | 4 | ||||
-rw-r--r-- | hwpfilter/source/hpara.cxx | 4 | ||||
-rw-r--r-- | hwpfilter/source/hpara.h | 14 | ||||
-rw-r--r-- | hwpfilter/source/hwpeq.cxx | 44 | ||||
-rw-r--r-- | hwpfilter/source/hwpfile.cxx | 2 | ||||
-rw-r--r-- | hwpfilter/source/hwpread.cxx | 76 | ||||
-rw-r--r-- | hwpfilter/source/hwpreader.cxx | 279 |
13 files changed, 308 insertions, 309 deletions
diff --git a/hwpfilter/source/drawdef.h b/hwpfilter/source/drawdef.h index b80c18b82b62..c6be198fc994 100644 --- a/hwpfilter/source/drawdef.h +++ b/hwpfilter/source/drawdef.h @@ -119,9 +119,9 @@ struct RotationProperty */ struct HWPDOProperty { - int line_pstyle; /* 선 중간 모양 */ - int line_hstyle; /* 끝 화살표 모양 */ - int line_tstyle; /* 시작 모양 */ + int line_pstyle; /* Style of the middle of line */ + int line_hstyle; /* Style of the end of line */ + int line_tstyle; /* Style of the start of line */ unsigned int line_color; hunit line_width; unsigned int fill_color; diff --git a/hwpfilter/source/formula.cxx b/hwpfilter/source/formula.cxx index bb48aef6a6ff..647881113d0e 100644 --- a/hwpfilter/source/formula.cxx +++ b/hwpfilter/source/formula.cxx @@ -383,7 +383,7 @@ void Formula::makeDecoration(Node *res) else fprintf(stderr,"<math:munder>\n"); #else - /* accent는 언제 true이고, 언제, false인지 모르겠다. */ + /* FIXME: no idea when 'accent' is true or false. */ if( isover ){ padd("accent","CDATA","true"); rstartEl("math:mover", rList); diff --git a/hwpfilter/source/hbox.cxx b/hwpfilter/source/hbox.cxx index 4ef9cbf203b8..c026ca471166 100644 --- a/hwpfilter/source/hbox.cxx +++ b/hwpfilter/source/hbox.cxx @@ -451,7 +451,7 @@ Footnote::~Footnote() // auto number(18) // new number(19) // show page number (20) -// 홀수쪽시작/감추기 (21) +// Start/Hide odd-numbered side (21) // mail merge(22) hchar_string MailMerge::GetString() @@ -597,9 +597,9 @@ static void getOutlineNumStr(int style, int level, int num, hchar * hstr) enum { OUTLINE_ON, OUTLINE_NUM }; -/* level 은 0부터 시작. 즉 1.1.1. 의 레벨은 2이다. - number는 값이 그대로 들어가 있다. 즉, 1.2.1에는 1,2,1이 들어가 있다. - style 은 1부터 값이 들어가 있다. hbox.h에 정의된 데로.. +/* level starts from zero. ex) '1.1.1.' is the level 2. + number has the value. ex) '1.2.1' has '1,2,1' + style has the value which starts from 1 according to the definition in hbox.h */ hchar_string Outline::GetUnicode() const { @@ -658,17 +658,17 @@ hchar_string Outline::GetUnicode() const if( deco[i][0] ){ buffer[l++] = deco[i][0]; } -/* level 은 0부터 시작. 즉 1.1.1. 의 레벨은 2이다. - number는 값이 그대로 들어가 있다. 즉, 1.2.1에는 1,2,1이 들어가 있다. - style 은 1부터 값이 들어가 있다. hbox.h에 정의된 데로.. +/* level starts from zero. ex) '1.1.1.' is the level 2. + number has the value. ex) '1.2.1' has '1,2,1' + style has the value which starts from 1 according to the definition in hbox.h */ switch( user_shape[i] ) { case 0: buffer[l++] = '1' + number[i] - 1; break; - case 1: /* 대문자로마 */ - case 2: /* 소문자로마 */ + case 1: /* Uppercase Roman */ + case 2: /* Lowercase Roman */ num2roman(number[i], dest); if( user_shape[i] == 1 ){ char *ptr = dest; @@ -693,22 +693,22 @@ hchar_string Outline::GetUnicode() const case 6: buffer[l++] = olHanglJaso(number[i] -1, OL_HANGL_JASO); break; - case 7: /* 한자 숫자 : 일반 숫자로 표현 */ + case 7: /* Chinese numbers: the number represented by the general */ buffer[l++] = '1' + number[i] -1; break; - case 8: /* 원숫자 */ + case 8: /* Circled numbers */ buffer[l++] = 0x2e00 + number[i]; break; - case 9: /* 원 알파벳 소문자 */ + case 9: /* Circled lowercase alphabet */ buffer[l++] = 0x2c20 + number[i]; break; - case 10: /* 원 가나다 */ + case 10: /* Circled Korean Alphabet */ buffer[l++] = 0x2c50 + number[i] -1; break; - case 11: /* 원 ㄱ ㄴ */ + case 11: /* Circled Korean Characters */ buffer[l++] = 0x2c40 + number[i] -1; break; - case 12: /* 이어진 숫자. */ + case 12: /* Sequenced numbers. */ { char cur_num_str[10],buf[80]; int j; @@ -742,7 +742,7 @@ hchar_string Outline::GetUnicode() const } -/* 묶음 빈칸(30) */ -/* 고정폭 빈칸(31) */ +/* Bundle of spaces (30) */ +/* Fixed-width spaces (31) */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/hwpfilter/source/hbox.h b/hwpfilter/source/hbox.h index 4ceeb274b29c..3bac8f5e272a 100644 --- a/hwpfilter/source/hbox.h +++ b/hwpfilter/source/hbox.h @@ -82,9 +82,9 @@ struct SkipData: public HBox struct DateCode; struct FieldCode : public HBox { - uchar type[2]; /* 2/0 - 계산식, 3/0-문서요약, 3/1-개인정보, 3/2-만든날짜, 4/0-누름틀 */ + uchar type[2]; /* 2/0 - Formula, 3/0-document summary, 3/1 Personal Information, 3/2-creation date, 4/0-pressing mold */ char *reserved1; - unsigned short location_info; /* 0 - 끝코드, 1 - 시작코드 */ + unsigned short location_info; /* 0 - End code, 1 - start code */ char *reserved2; hchar *str1; hchar *str2; @@ -198,7 +198,7 @@ enum struct CellLine { unsigned char key; - unsigned char top; // 0 - 라인없음, 1-single, 2-thick, 3-double + unsigned char top; // 0-No line, 1-single, 2-thick, 3-double unsigned char bottom; unsigned char left; unsigned char right; @@ -246,7 +246,7 @@ struct FBoxStyle /** * Kind of wrap */ - unsigned char txtflow; /* 그림피함. 0-2(자리차지,투명,어울림) */ + unsigned char txtflow; /* Avoid painting. 0-2 (seat occupied, transparency, harmony) */ /** * Horizontal alignment */ @@ -264,12 +264,12 @@ struct FBoxStyle /** * Index of floating object */ - short boxnum; /* 스타오피스에서 스타일 이름으로 사용될 숫자 */ + short boxnum; /* Numbers used as style-name in Libre Office */ /** * Type of floating object : line, txtbox, image, table, equalizer and button */ unsigned char boxtype; // (L)ine, t(X)tbox, Picture - (G) - short cap_len; /* 캡션의 길이 */ + short cap_len; /* The length of the caption */ void *cell; @@ -307,8 +307,8 @@ struct FBox: public HBox char xpos_type, ypos_type; unsigned char smart_linesp; -/* 이 자료는 tbox나 pic에서는 파일에 기록하지 않고 실행시만 있으며, - line에서는 파일에 기록한다. +/* In tbox or pic, this data exists in memory when running, isn't written to a file. + But in line, it will be written to a file. */ short boundsy, boundey; unsigned char boundx, draw; @@ -539,7 +539,7 @@ struct Table TxtBox *box; }; -/* picture (11) 그림, OLE그림, 삽입그림, 그리기 */ +/* picture (11) graphics, OLE graphics, inserted graphics, drawing */ enum pictype { PICTYPE_FILE, PICTYPE_OLE, PICTYPE_EMBED, @@ -617,7 +617,7 @@ struct Picture: public FBox * follow_block_size is the size information of the Drawing object of hwp. * It's value is greater than 0 if the pictype is PICTYPE_DRAW. */ - uint follow_block_size; /* 추가정보 길이. */ + uint follow_block_size; /* Additional information length. */ short dummy1; // to not change structure size */ short dummy2; // to not change structure size */ uchar reserved1; @@ -647,7 +647,7 @@ struct Picture: public FBox /** * It's for the Drawing object */ - unsigned char *follow; /* 그림종류가 drawing일때, 추가정보. */ + unsigned char *follow; /* When the type of image is drawing, gives additional information. */ bool ishyper; @@ -821,7 +821,7 @@ struct ShowPageNum: public HBox virtual bool Read(HWPFile &hwpf) SAL_OVERRIDE; }; -/* 홀수쪽시작 (21) */ +/* Start odd side (21) */ /** * Controls the display of page number, header, footer and border. */ @@ -987,7 +987,7 @@ class Outline: public HBox /** * decoration character for the level type */ - hchar deco[MAX_OUTLINE_LEVEL][2]; /* 사용자 정의시 앞뒤 문자 */ + hchar deco[MAX_OUTLINE_LEVEL][2]; /* Prefix/postfix for Customize */ hchar dummy; Outline(); @@ -996,7 +996,7 @@ class Outline: public HBox hchar_string GetUnicode() const; }; -/* 묶음 빈칸(30) */ +/* Bundle of spaces (30) */ /** * The Special space to be treated non-space when a string is * cut at the end of line @@ -1011,7 +1011,7 @@ struct KeepSpace: public HBox virtual bool Read(HWPFile &hwpf) SAL_OVERRIDE; }; -/* 고정폭 빈칸(31) */ +/* Fixed-width spaces (31) */ /** * @short Space with always same width not relation with fonts. */ diff --git a/hwpfilter/source/hcode.cxx b/hwpfilter/source/hcode.cxx index e0150524b27b..700b2dbefa43 100644 --- a/hwpfilter/source/hcode.cxx +++ b/hwpfilter/source/hcode.cxx @@ -522,7 +522,7 @@ static hchar cdkssm2ks_han(hchar kssm) unsigned int index; unsigned char lo, hi; -/* "한" */ +/* "One" */ if (kssm == 0xd3c5) return 0xc7d1; @@ -584,7 +584,7 @@ static const hchar choseong_to_unicode[] = 0x110e, 0x110f, 0x1110, 0x1111, 0x1112, 0x1120, 0x1121, 0x1127, 0x112b, 0x112d, 0x112f, 0x1132, 0x1136, 0x1140, 0x114c, 0x1158 }; -/* 중성이 0과 1인 곳에는 다른 코드들이 들어가 있다. 이부분에 대한 법칙을 뽑아라. */ +/* There are some other codes where the medial sound is 0 or 1. It needs to extract the rules in those area */ static const hchar joongseong_to_unicode[] = { 0, 0, 0, 0x1161, 0x1162, 0x1163, 0x1164, 0x1165, @@ -601,12 +601,12 @@ static const hchar jongseong_to_unicode[] = 0x11bd, 0x11be, 0x11bf, 0x11c0, 0x11c1, 0x11c2, 0x11eb, 0x11f0 }; -/* 중성이 0과 1인곳 */ -/* 처음 32개는 자모, 나머지 32개는 조합으로 구성. - * 0x8000 ~ 0xa413까지 32개 나오고, 0x0400더한 0x8400에서 다시 32개 나오는 식으로 진행된다. - * 자모영역은 일반 테이블로 나머지는 구조체 매핑테이블로 만든다. - */ -/* 308개.. 1152개에서 308개를 제외한 나머지 844개는 자모조합이다. */ +/* The medial sound is 0 or 1 + * first 32 are consonants and vowels and the other 32 is combinations of alphabets + * (0x8000 ~ 0xa413) are the first 32. the other 32 start from 0x8400 + * consonants and vowels area is made as a general table and the rest are made of a sructure mapping table + * + * 844, except for the remaining 1152-308 is a combination of consonants and vowels. */ static const hchar jamo_to_unicode[] = { 0x3131, 0x3132, 0x3133, 0x3134, 0x3135, 0x3136, 0x3137, 0x3138, @@ -665,7 +665,7 @@ struct JamoComp{ hchar v2; hchar v3; }; -/* 704 + 12 = 706 개 */ +/* 704 + 12 = 706 */ static const JamoComp jamocomp1_to_unicode[] = { {3, 0x1100, 0x1161, 0x11e7}, {3, 0x1100, 0x1161, 0x3167}, @@ -788,7 +788,7 @@ static const JamoComp jamocomp1_to_unicode[] = {3, 0x1105, 0x119e, 0x11d7}, {3, 0x1105, 0x119e, 0x11dc}, {3, 0x1105, 0x119e, 0x11dd}, {2, 0x1105, 0x1176, 0x0000}, -/* -- 여기부터 숫자 안바꿈 즉, 3을 2로 바꾸어 주어야 함. */ +/* From here, numbers are not changed. So must change 3 to 2 manually. */ {2, 0x1105, 0x1178, 0x0000}, {2, 0x1105, 0x117a, 0x0000}, {2, 0x1105, 0x117b, 0x0000}, {2, 0x1105, 0x1186, 0x0000}, {2, 0x1105, 0x1187, 0x0000}, {2, 0x1105, 0x118c, 0x0000}, @@ -913,13 +913,13 @@ int hcharconv(hchar ch, hchar *dest, int codeType) dest[0] = ch; return 1; } - /* 한자는 0x4000부터 4888가지의 값을 가진다. */ + /* Chinese characters have a value of 4888 kinds from 0x4000. */ else if (IsHanja(ch)) { unsigned int index; unsigned char hi; - /* 4888이외의 수는 아래한글에서 정의한 확장한자이다. 이것에 대해서는 - 유니코드나 완성형코드로의 변환을 위한 매핑테이블어 없는 실정이다. + /*Out of 4888 kinds are Chinese characters which are defined by Hangul Word Processor. For this + there is no mapping table to convert to Unicode or completion code(KSC5601-87, EUC-KR) */ if ((index = ch - 0x4000) >= 4888) { @@ -931,8 +931,8 @@ int hcharconv(hchar ch, hchar *dest, int codeType) } if (codeType == KS) { - /* 한자코드는 상위코드와 하위코드로 나누어지며 하위코드는 0xA1 - 0xFE 까지의 값을 가진다. - 즉 하위코드에 올수있는 가지수는 0xFE - 0xA1 +1 가지수이다. + /* Chinese code is divided into the upper cord and lower cord. Lower code has the value from 0xA1 up to 0xFE. + In other words, the number of lower code is the number of (0xFE - 0xA1) +1 */ hi = sal::static_int_cast<unsigned char>(index / (0xFE - 0xA1 + 1) + 0xCA); lo = sal::static_int_cast<unsigned char>(index % (0xFE - 0xA1 + 1) + 0xA1); @@ -995,9 +995,9 @@ int hcharconv(hchar ch, hchar *dest, int codeType) dest[0] = ch; return 1 ; } -/** - * 특수문자 코드 - * 아래한글에서는 0x3400부터 특수문자가 시작된다. 조합형은 0xA1A0 +/* + * Special characters code + * In Hangul Word Processor, special characters begins from 0x3400. Combinations are from 0xA1A0 */ else { @@ -1012,7 +1012,7 @@ int hcharconv(hchar ch, hchar *dest, int codeType) dest[0] = ch; return 1; } - /* 한글과컴퓨터 : 0x37c0 ~ 0x37c5 */ + /* Hangul and Computer: 0x37c0 ~ 0x37c5 */ if( ch2 >= 0x37c0 && ch2 <= 0x37c5 ){ if( ch2 == 0x37c0 ) dest[0] = 0xd55c; else if( ch2 == 0x37c1 ) dest[0] = 0xae00; @@ -1058,7 +1058,7 @@ int hcharconv(hchar ch, hchar *dest, int codeType) } } -/* 한글일 경우. */ +/* If it's Korean(Hangul). */ int kssm_hangul_to_ucs2(hchar ch, hchar *dest) { hchar choseong, joongseong, jongseong; @@ -1069,13 +1069,13 @@ int kssm_hangul_to_ucs2(hchar ch, hchar *dest) //printf("kssm_hangul_to_ucs2 : [%d,%d,%d]\n", choseong,joongseong,jongseong); - if( joongseong < 2 ){ /* 조합되지 않은 영역 중성=0,1 */ - if( joongseong == 0 && ch < 0xa414 ){ /* 고어포함 자모 */ + if( joongseong < 2 ){ /* Not combined area, medial sound = 0,1 */ + if( joongseong == 0 && ch < 0xa414 ){ /* consonants and vowels includes old characters */ int index = choseong * 32 + jongseong; dest[0] = jamo_to_unicode[index]; return 1; } - else{ /* 고어포함 자모조합 : 테이블 미완성 */ + else{ /* combination of consonants and vowels includes old characters: an unfinished table */ unsigned int index = choseong * 32 + jongseong - 308; if( index < SAL_N_ELEMENTS(jamocomp1_to_unicode) ){ dest[0] = jamocomp1_to_unicode[index].v1; @@ -1087,11 +1087,11 @@ int kssm_hangul_to_ucs2(hchar ch, hchar *dest) return 1; } } - else if ( choseong == 1 && jongseong == 1 ){ /* 모음 */ + else if ( choseong == 1 && jongseong == 1 ){ /* Vowel */ dest[0] = joongseong_to_unicode[joongseong]; return 1; } - else if ( joongseong == 2 && jongseong == 1 ){ /* 자음 */ + else if ( joongseong == 2 && jongseong == 1 ){ /* Consonant */ dest[0] = choseong_to_unicode[choseong]; return 1; } @@ -1100,8 +1100,8 @@ int kssm_hangul_to_ucs2(hchar ch, hchar *dest) joongseong == 25 || joongseong > 29 || jongseong == 0 || jongseong == 18 || jongseong > 29 || - choseong == 1 || joongseong == 2 /* 완성되지 않은 한글 */ - ) { /* 고어 */ + choseong == 1 || joongseong == 2 /* Incomplete Hangul */ + ) { /* Gore */ int count = 0; if( choseong != 1 ){ dest[count] = choseong_to_unicode[choseong]; @@ -1181,7 +1181,7 @@ hchar_string hstr2ucsstr(hchar const* hstr) } /** - * 한컴스트링을 완성형스트링으로 변환한다 + * Convert 'Hangul and Computer' strings to the completion code(KSC5601-87) */ ::std::string hstr2ksstr(hchar const* hstr) { @@ -1211,8 +1211,8 @@ hchar_string hstr2ucsstr(hchar const* hstr) /* - * 한글에서 영문외의 문자까지 포함할 수 있는 kchar타입의 문자열을 - * 한글에서 사용하는 hchar타입의 문자열로 변환한다. + * Convert strings of kchar type, which can contain Korean, English and others + * to strings of hchar type of Hangul Word Processor */ hchar_string kstr2hstr(unsigned char const* src) { @@ -1243,7 +1243,7 @@ char* Int2Str(int value, const char *format, char *buf) } -/* color인덱스 값과 음영값을 조합하여 스타오피스의 color로 변환 */ +/* Convert a combination of a color index value and a shade value to the color value of LibreOffice */ char *hcolor2str(uchar color, uchar shade, char *buf, bool bIsChar) { unsigned short red,green,blue; @@ -1451,11 +1451,11 @@ double calcAngle(int x1, int y1, int x2, int y2) } double angle; angle = (180 / PI) * atan( ( y2 - y1 ) * 1.0 / ( x2 - x1 )); - if( y2 >= y1 ){ /* 1,2사분면 */ + if( y2 >= y1 ){ /* 1, 2 quadrant */ if( angle < 0. ) angle += 180.; } - else{ /* 3, 4 사분면 */ + else{ /* 3, 4 quadrants */ if( angle > 0 ) angle += 180.; else diff --git a/hwpfilter/source/hinfo.cxx b/hwpfilter/source/hinfo.cxx index 96de6d753d0b..0c158ad27020 100644 --- a/hwpfilter/source/hinfo.cxx +++ b/hwpfilter/source/hinfo.cxx @@ -72,61 +72,61 @@ HWPInfo::~HWPInfo() /** - * 문서정보를 읽어들이는 함수 ( 128 bytes ) - * 문서정보는 파일인식정보( 30 bytes ) 다음에 위치한 정보이다. + * Function for reading document information (128 bytes) + * Document information is the information after the file identification information (30 bytes). */ bool HWPInfo::Read(HWPFile & hwpf) { - hwpf.Read2b(&cur_col, 1); /* 문서를 저장할 당시의 커서가 위치한 문단번호 */ - hwpf.Read2b(&cur_row, 1); /* 문단 칸 */ + hwpf.Read2b(&cur_col, 1); /* When a document is saving, the paragraph number where the coursor is */ + hwpf.Read2b(&cur_row, 1); /* Paragraphs rows */ - hwpf.Read1b(&paper.paper_kind, 1); /* 용지 종류 */ - hwpf.Read1b(&paper.paper_direction, 1); /* 용지 방향 */ + hwpf.Read1b(&paper.paper_kind, 1); /* Paper Type */ + hwpf.Read1b(&paper.paper_direction, 1); /* Paper orientation */ // paper geometry information unsigned short tmp16; if (!hwpf.Read2b(tmp16)) return false; - paper.paper_height = tmp16; /* 용지 길이 */ + paper.paper_height = tmp16; /* Paper length */ if (!hwpf.Read2b(tmp16)) return false; - paper.paper_width = tmp16; /* 용지 너비 */ + paper.paper_width = tmp16; /* Sheet width */ if (!hwpf.Read2b(tmp16)) return false; - paper.top_margin = tmp16; /* 위쪽 여백 */ + paper.top_margin = tmp16; /* Top margin */ if (!hwpf.Read2b(tmp16)) return false; - paper.bottom_margin = tmp16; /* 아래쪽 여백 */ + paper.bottom_margin = tmp16; /* The bottom margin */ if (!hwpf.Read2b(tmp16)) return false; - paper.left_margin = tmp16; /* 왼쪽 여백 */ + paper.left_margin = tmp16; /* Left Margin */ if (!hwpf.Read2b(tmp16)) return false; - paper.right_margin = tmp16; /* 오른쪽 여백 */ + paper.right_margin = tmp16; /* Right margins */ if (!hwpf.Read2b(tmp16)) return false; - paper.header_length = tmp16; /* 머리말 길이 */ + paper.header_length = tmp16; /* Header length */ if (!hwpf.Read2b(tmp16)) return false; - paper.footer_length = tmp16; /* 꼬리말 길이 */ + paper.footer_length = tmp16; /* Footer length */ if (!hwpf.Read2b(tmp16)) return false; - paper.gutter_length = tmp16; /* 제본여백 */ - hwpf.Read2b(&readonly, 1); /* 예약 */ - hwpf.Read1b(reserved1, 4); /* 예약 */ - hwpf.Read1b(&chain_info.chain_page_no, 1); /* 쪽 번호 연결 1-연결, 0-새로시작 (연결인쇄에서 사용) */ - hwpf.Read1b(&chain_info.chain_footnote_no, 1);/* 각주번호 연결 1-연결 0-새로시작 */ - /* 연결인쇄할 파일의 이름 */ + paper.gutter_length = tmp16; /* The binding margin */ + hwpf.Read2b(&readonly, 1); /* Reserve */ + hwpf.Read1b(reserved1, 4); /* Reserve */ + hwpf.Read1b(&chain_info.chain_page_no, 1); /* Connect page number: 1-Connect, 0-newly started (used in connection printing) */ + hwpf.Read1b(&chain_info.chain_footnote_no, 1);/* Connect footnote number: 1-connect, 0-newly started*/ + /* the file name to be printed with connection */ hwpf.Read1b(chain_info.chain_filename, CHAIN_MAX_PATH); - hwpf.Read1b(annotation, ANNOTATION_LEN); /* 덧붙이는 말 ( 파일 저장할 때 덧붙이는 말에 지정한 내용 ) */ - hwpf.Read2b(&encrypted, 1); /* 암호 여부 0-보통파일, 그외-암호걸린 파일 */ -//hwpf.Read1b(reserved2, 6); /* 아래 3개의값으로 바뀌었다. */ - hwpf.Read2b(&beginpagenum,1); /* 페이지시작번호 */ + hwpf.Read1b(annotation, ANNOTATION_LEN); /* Annotation (additional information when a file is saving.) */ + hwpf.Read2b(&encrypted, 1); /* encrypt: 0-normal file(without password), 1-protected by password */ +//hwpf.Read1b(reserved2, 6); /* it turned into below three values. */ + hwpf.Read2b(&beginpagenum,1); /* Page starting number */ // footnote - hwpf.Read2b(&beginfnnum,1); /* 각주 시작번호 */ - hwpf.Read2b(&countfn,1); /* 각주 갯수 */ + hwpf.Read2b(&beginfnnum,1); /* Footnote start number */ + hwpf.Read2b(&countfn,1); /* Number of footnote */ if (!hwpf.Read2b(tmp16)) return false; @@ -158,7 +158,7 @@ bool HWPInfo::Read(HWPFile & hwpf) if (hwpf.State()) return false; -/* 문서 요약을 읽는다. */ +/* Read the article summary. */ if (!summary.Read(hwpf)) return false; if (info_block_len > 0) @@ -169,7 +169,7 @@ bool HWPInfo::Read(HWPFile & hwpf) return false; } -/* hwpf의 값을 재설정 한다. */ +/* reset the value of hwpf. */ hwpf.compressed = compressed != 0; hwpf.encrypted = encrypted != 0; hwpf.info_block_len = info_block_len; diff --git a/hwpfilter/source/hiodev.h b/hwpfilter/source/hiodev.h index 967be2081cfc..aac99c94a0d7 100644 --- a/hwpfilter/source/hiodev.h +++ b/hwpfilter/source/hiodev.h @@ -67,7 +67,7 @@ class DLLEXPORT HIODev struct gz_stream; -/* 파일 입출력 장치 */ +/* File input and output devices */ /** * This controls the HStream given by constructor @@ -134,7 +134,7 @@ class HStreamIODev : public HIODev virtual void init() SAL_OVERRIDE; }; -/* 메모리 입출력 장치 */ +/* Memory, input and output devices */ /** * The HMemIODev class controls the Input/Output device. * @short Memory IO device diff --git a/hwpfilter/source/hpara.cxx b/hwpfilter/source/hpara.cxx index e26fb6f65cfd..e7febc491183 100644 --- a/hwpfilter/source/hpara.cxx +++ b/hwpfilter/source/hpara.cxx @@ -118,12 +118,12 @@ bool HWPPara::Read(HWPFile & hwpf, unsigned char flag) hwpf.Read1b(&pstyno, 1); -/* Paragraph 대표 글자 */ +/* Paragraph representative character */ cshape.Read(hwpf); if (nch > 0) hwpf.AddCharShape(&cshape); -/* Paragraph 문단 모양 */ +/* Paragraph paragraphs shape */ if (nch && !reuse_shape) { pshape.Read(hwpf); diff --git a/hwpfilter/source/hpara.h b/hwpfilter/source/hpara.h index 7a6c5e317e93..193dcced637c 100644 --- a/hwpfilter/source/hpara.h +++ b/hwpfilter/source/hpara.h @@ -53,7 +53,7 @@ class HWPPara; struct LineInfo { -/* 시작하는 글자의 위치 : 콘트롤은 여러 길이를 가진다 */ +/* the position of the starting character: the control has a different length */ /** * Starting character position */ @@ -84,7 +84,7 @@ class DLLEXPORT HWPPara /** * Zero is for the new paragraph style. */ - unsigned char reuse_shape; /* 0이면 새모양 */ + unsigned char reuse_shape; /* the new shape if 0 */ unsigned short nch; unsigned short nline; @@ -95,16 +95,16 @@ class DLLEXPORT HWPPara /** * If the value is 0, all character of paragraph have same style given cshape */ - unsigned char contain_cshape; /* 0이면 모든 글자가 대표 글자 모양 */ + unsigned char contain_cshape; /* if it's 0, all the characters are representing with representative shape */ unsigned char etcflag; /** * Checks the special characters in the paragraph */ unsigned long ctrlflag; unsigned char pstyno; - CharShape cshape; /* 글자가 모두 같은 모양일때 */ - ParaShape pshape; /* reuse flag가 0이면 */ - int pno; /* run-time only */ + CharShape cshape; /* When characters are all the same shape */ + ParaShape pshape; /* if reuse flag is 0, */ + int pno; /* then run-time only */ LineInfo *linfo; CharShape *cshapep; @@ -120,7 +120,7 @@ class DLLEXPORT HWPPara void SetNext(HWPPara *n) { _next = n; }; -/* layout을 위한 함수 */ +/* Functions for layout */ /** * Returns the character style of paragraph. */ diff --git a/hwpfilter/source/hwpeq.cxx b/hwpfilter/source/hwpeq.cxx index a897abeaf791..393a6dbea19d 100644 --- a/hwpfilter/source/hwpeq.cxx +++ b/hwpfilter/source/hwpeq.cxx @@ -32,7 +32,7 @@ using namespace std; #include <sal/types.h> #include <sal/macros.h> -/* @Man: hwp수식을 LaTeX으로 바꾸기 */ +/* @Man: change the hwp formula to LaTeX */ #ifdef WIN32 # define ENDL "\r\n" #else /* !WIN32 */ @@ -125,7 +125,7 @@ static const hwpeq eq_tbl[] = { { "bullet", NULL, 0, 0 }, { "cap", NULL, 0, 0 }, { "cases", NULL, 0, EQ_ENV }, - { "ccol", NULL, 0, 0 }, /* 세로로 가운데 */ + { "ccol", NULL, 0, 0 }, /* Center vertically */ { "cdot", NULL, 0, 0 }, { "cdots", NULL, 0, 0 }, { "check", NULL, 1, 0 }, @@ -401,7 +401,7 @@ static const hwpeq *lookup_eqn(char *str) return result; } -/* 첫자만 대문자이거나 전부 대문자면 소문자로 바꾼다. */ +/* If only the first character is uppercase or all characters are uppercase, change to lowercase */ void make_keyword( char *keyword, const char *token) { char* ptr; @@ -469,10 +469,10 @@ void push_token(MzString &white, MzString &token, istream *strm) } /* - 읽은 토큰의 길이를 반환한다. -*/ -/* control char, control sequence, binary sequence, - alphabet string, sigle character */ + * It returns the length of the read tokens. + * + * control char, control sequence, binary sequence, + * alphabet string, sigle character */ static int next_token(MzString &white, MzString &token, istream *strm) { int ch = 0; @@ -506,8 +506,8 @@ static int next_token(MzString &white, MzString &token, istream *strm) ch = strm->get(); } while( ch != EOF && (ch & 0x80 || isalpha(ch)) ) ; strm->putback(sal::static_int_cast<char>(ch)); - /* sub, sub, over, atop 특수 처리 - 그 이유는 next_state()에 영향을 미치기 때문이다. + /* special treatment of sub, sub, over, atop + The reason for this is that affect next_state(). */ if( !STRICMP("sub", token) || !STRICMP("from", token) || !STRICMP("sup", token) || !STRICMP("to", token) || @@ -558,18 +558,18 @@ static int read_white_space(MzString& outs, istream *strm) return result; } -/* 인수가 필요하지 않은 경우 각 항목간의 구분은 space와 brace - sqrt {ab}c = sqrt{ab} c - (, }는 grouping - ^, _ 는 앞뒤로 결합한다. - - sqrt 등과 같이 인수가 있는 형식 정리 - sqrt a -> sqrt{a} - sqrt {a} -> sqrt{a} - 1 이상의 인수가 있는 경우 인수들간의 역백은 없앤다. - \frac a b -> frac{a}{b} - over의 형식 정리 - a over b -> {a}over{b} +/* If the argument is not required, delimiters are space and brace for each items. + sqrt {ab} c = sqrt {ab} c + (,} are for grouping + ^ ,_ are for combination + + Sorting of formats with arguments, such as sqrt + sqrt a -> sqrt {a} + sqrt {a} -> sqrt {a} + If there is more than one argument, it eliminates backslash between arguments. + \frac a b -> frac {a} {b} + Clean the form of over + a over b -> {a} over {b} */ static int eq_word(MzString& outs, istream *strm, int status) @@ -599,7 +599,7 @@ static int eq_word(MzString& outs, istream *strm, int status) state << white << token; } else { - /* 정상적인 token */ + /* Normal token */ int script_status = SCRIPT_NONE; while( true ) { state << white << token; diff --git a/hwpfilter/source/hwpfile.cxx b/hwpfilter/source/hwpfile.cxx index d4457a5f1a7f..6f6ea75b4a4c 100644 --- a/hwpfilter/source/hwpfile.cxx +++ b/hwpfilter/source/hwpfile.cxx @@ -389,7 +389,7 @@ ColumnDef *HWPFile::GetColumnDef(int num) else return 0; } -/* @return 인덱스는 1부터 시작한다. */ +/* Index of @return starts from 1 */ int HWPFile::GetPageMasterNum(int page) { std::list<ColumnInfo*>::iterator it = columnlist.begin(); diff --git a/hwpfilter/source/hwpread.cxx b/hwpfilter/source/hwpread.cxx index ca8e3ea9e40d..55e2068ce632 100644 --- a/hwpfilter/source/hwpread.cxx +++ b/hwpfilter/source/hwpread.cxx @@ -63,10 +63,10 @@ bool FieldCode::Read(HWPFile & hwpf) { uint size; hchar dummy; - uint len1; /* hchar타입의 문자열 테이터 #1의 길이 */ - uint len2; /* hchar타입의 문자열 테이터 #2의 길이 */ - uint len3; /* hchar타입의 문자열 테이터 #3의 길이 */ - uint binlen; /* 임의 형식의 바이너리 데이타 길이 */ + uint len1; /* Length of hchar type string DATA #1 */ + uint len2; /* Length of hchar type string DATA #2 */ + uint len3; /* Length of hchar type string DATA #3 */ + uint binlen; /* Length of any binary data format */ hwpf.Read4b(&size, 1); hwpf.Read2b(&dummy, 1); @@ -100,7 +100,7 @@ bool FieldCode::Read(HWPFile & hwpf) hwpf.ReadBlock(bin, binlen); - if( type[0] == 3 && type[1] == 2 ){ /* 만든날짜로서 포맷을 생성해야 한다. */ + if( type[0] == 3 && type[1] == 2 ){ /* It must create a format as created date. */ DateCode *pDate = new DateCode; for (int i = 0 ; i < static_cast<int>(len3_); i++) { if(str3[i] == 0 ) break; @@ -377,55 +377,55 @@ bool Picture::Read(HWPFile & hwpf) hwpf.AddBox(this); hwpf.Read4b(&follow_block_size, 1); - hwpf.Read2b(&dummy1, 1); /* 예약 4바이트 */ + hwpf.Read2b(&dummy1, 1); /* Reserved 4 bytes */ hwpf.Read2b(&dummy2, 1); style.boxnum = fboxnum++; zorder = zindex++; - hwpf.Read1b(&style.anchor_type, 1); /* 기준위치 */ - hwpf.Read1b(&style.txtflow, 1); /* 그림피함. 0-2(자리차지,투명,어울림) */ - hwpf.Read2b(&style.xpos, 1); /* 가로위치 : 1 왼쪽, 2오른쪽, 3 가운데, 이외 = 임의 */ - hwpf.Read2b(&style.ypos, 1); /* 세로위치 : 1 위, 2 아래, 3 가운데, 이외 임의 */ - hwpf.Read2b(&option, 1); /* 기타옵션 : 테두리,그림반전,등. bit로 저장. */ - hwpf.Read2b(&ctrl_ch, 1); /* 항상 11 */ - hwpf.Read2b(style.margin, 12); /* 여백 : [0-2][] out/in/셀,[][0-3] 왼/오른/위/아래 여백 */ - hwpf.Read2b(&box_xs, 1); /* 박스크기 가로 */ - hwpf.Read2b(&box_ys, 1); /* 세로 */ - hwpf.Read2b(&cap_xs, 1); /* 캡션 크기 가로 */ - hwpf.Read2b(&cap_ys, 1); /* 세로 */ - hwpf.Read2b(&style.cap_len, 1); /* 길이 */ - hwpf.Read2b(&xs, 1); /* 전체 크기(박스 크기 + 캡션 + 여백) 가로 */ - hwpf.Read2b(&ys, 1); /* 세로 */ - hwpf.Read2b(&cap_margin, 1); /* 캡션 여백 */ + hwpf.Read1b(&style.anchor_type, 1); /* Reference position */ + hwpf.Read1b(&style.txtflow, 1); /* Avoid painting. 0-2 (seat occupied, transparency, harmony) */ + hwpf.Read2b(&style.xpos, 1); /* Horizontal position: 1=left, 2=right, 3=center, and others=any */ + hwpf.Read2b(&style.ypos, 1); /* Vertical position: 1=top, 2=down, 3=middle, and others=any */ + hwpf.Read2b(&option, 1); /* Other options: Borders, reverse picture, and so on. Save as bit. */ + hwpf.Read2b(&ctrl_ch, 1); /* Always 11 */ + hwpf.Read2b(style.margin, 12); /* Margin: [0-2] [] out / in / cell, [], [0-3] left / right / top / bottom margins */ + hwpf.Read2b(&box_xs, 1); /* Box Size Width */ + hwpf.Read2b(&box_ys, 1); /* Vertical */ + hwpf.Read2b(&cap_xs, 1); /* Caption Size Width */ + hwpf.Read2b(&cap_ys, 1); /* Vertical */ + hwpf.Read2b(&style.cap_len, 1); /* Length */ + hwpf.Read2b(&xs, 1); /* The total size (box size + caption + margin) Horizontal */ + hwpf.Read2b(&ys, 1); /* Vertical */ + hwpf.Read2b(&cap_margin, 1); /* Caption margins */ hwpf.Read1b(&xpos_type, 1); hwpf.Read1b(&ypos_type, 1); - hwpf.Read1b(&smart_linesp, 1); /* 줄간격 보호 : 0 미보호, 1 보호 */ + hwpf.Read1b(&smart_linesp, 1); /* Line Spacing protection: 0 unprotected 1 protected */ hwpf.Read1b(&reserved1, 1); - hwpf.Read2b(&pgx, 1); /* 실제 계산된 박스 가로 */ - hwpf.Read2b(&pgy, 1); /* 세로 */ - hwpf.Read2b(&pgno, 1); /* 페이지 숫자 : 0부터 시작 */ - hwpf.Read2b(&showpg, 1); /* 박스보여줌 */ - hwpf.Read2b(&cap_pos, 1); /* 캡션위치 0 - 7 메뉴순서. */ - hwpf.Read2b(&num, 1); /* 박스번호 0부터 시작해서 매긴일련번호 */ + hwpf.Read2b(&pgx, 1); /* Real Calculated box width */ + hwpf.Read2b(&pgy, 1); /* Height */ + hwpf.Read2b(&pgno, 1); /* Page number: starts from 0 */ + hwpf.Read2b(&showpg, 1); /* Show the Box */ + hwpf.Read2b(&cap_pos, 1); /* Caption positions 0-7 Menu Order. */ + hwpf.Read2b(&num, 1); /* Box number, serial number which starts from 0 */ - hwpf.Read1b(&pictype, 1); /* 그림종류 */ + hwpf.Read1b(&pictype, 1); /* Picture type */ unsigned short tmp16; - if (!hwpf.Read2b(tmp16)) /* 그림에서 실제 표시를 시작할 위치 가로 */ + if (!hwpf.Read2b(tmp16)) /* the real horizontal starting point where shows the picture */ return false; skip[0] = tmp16; - if (!hwpf.Read2b(tmp16)) /* 세로 */ + if (!hwpf.Read2b(tmp16)) /* Vertical */ return false; skip[1] = tmp16; - if (!hwpf.Read2b(tmp16)) /* 확대비율 : 0 고정, 이외 퍼센트 단위 가로 */ + if (!hwpf.Read2b(tmp16)) /* Zoom Ratio: 0:fixed, others are percentage for horizontal */ return false; scale[0] = tmp16; - if (!hwpf.Read2b(tmp16)) /* 세로 */ + if (!hwpf.Read2b(tmp16)) /* Vertical */ return false; scale[1] = tmp16; - hwpf.Read1b(picinfo.picun.path, 256); /* 그림파일 이름 : 종류가 Drawing이 아닐때. */ - hwpf.Read1b(reserved3, 9); /* 밝기/명암/그림효과 등 */ + hwpf.Read1b(picinfo.picun.path, 256); /* Picture File Name: when type is not a Drawing. */ + hwpf.Read1b(reserved3, 9); /* Brightness / Contrast / Picture Effect, etc. */ UpdateBBox(this); if( pictype != PICTYPE_DRAW ) @@ -460,7 +460,7 @@ bool Picture::Read(HWPFile & hwpf) style.boxtype = 'D'; hwpf.AddFBoxStyle(&style); -// cation +// caption hwpf.ReadParaList(caption); return !hwpf.State(); @@ -834,7 +834,7 @@ bool Outline::Read(HWPFile & hwpf) } -/* 묶음 빈칸(30) */ +/* Bundle of spaces (30)*/ KeepSpace::KeepSpace() : HBox(CH_KEEP_SPACE) , dummy(0) @@ -853,7 +853,7 @@ bool KeepSpace::Read(HWPFile & hwpf) } -/* 고정폭 빈칸(31) */ +/* Fixed-width spaces (31) */ FixedSpace::FixedSpace() : HBox(CH_FIXED_SPACE) , dummy(0) diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx index a68a29b294b4..5240584ae1bf 100644 --- a/hwpfilter/source/hwpreader.cxx +++ b/hwpfilter/source/hwpreader.cxx @@ -555,8 +555,8 @@ void HwpReader::makeDrawMiscStyle( HWPDrawingObject *hdo ) pList->clear(); rendEl( "draw:fill-image"); } -/* 그라데이션이 존재해도, 비트맵파일이 존재하면, 이것이 우선이다. */ - else if( prop->flag >> 16 & 0x01 ) /* 그라데이션 존재여부 */ +/* If there is a gradient, when a bitmap file is present, this is the first. */ + else if( prop->flag >> 16 & 0x01 ) /* existence gradient */ { padd( "draw:name", sXML_CDATA, ascii(Int2Str(hdo->index, "Grad%d", buf))); switch( prop->gstyle ) @@ -802,8 +802,8 @@ void HwpReader::makeStyles() /** * parse automatic styles from hwpfile - * 자동적으로 반영이 되는 스타일을 정의한다. 예를들어 각각의 문단이나, 테이블, 헤더 등등의 스타일을 이곳에서 정의하고, Body에서는 이곳에 정의된 스타일을 이용한다. - * 1. paragraph, text, fbox, page스타일에 대해 지원한다. + * Define a style that is automatically reflected. For example, defining styles of each paragraph, tables, header, and etc,. at here. In Body, use the defined style. + * 1. supports for the styles of paragraph, text, fbox, and page. */ void HwpReader::makeAutoStyles() { @@ -1032,7 +1032,7 @@ void HwpReader::makeMasterStyles() rstartEl("style:master-page", rList); pList->clear(); - if( pSet[i].bIsSet ) /* 현재 설정이 바뀌었으면 */ + if( pSet[i].bIsSet ) /* If you've changed the current setting */ { if( !pSet[i].pagenumber ){ if( pPrevSet && pPrevSet->pagenumber ) @@ -1074,11 +1074,11 @@ void HwpReader::makeMasterStyles() pPage = &pSet[i]; pPrevSet = &pSet[i]; } - else if( pPrevSet ) /* 이전의 설정된 것이 있으면. */ + else if( pPrevSet ) /* If the previous setting exists */ { pPage = pPrevSet; } - else /* 아직 설정이 없다면 기본설정으로 */ + else /* If the previous settings doesn't exist, set to the default settings */ { rstartEl("style:header", rList); padd("text:style-name", sXML_CDATA, "Standard"); @@ -1098,7 +1098,7 @@ void HwpReader::makeMasterStyles() continue; } -// ------------- header ------------- +// header if( pPage->header ) { rstartEl("style:header", rList); @@ -1128,7 +1128,7 @@ void HwpReader::makeMasterStyles() d->nPnPos = 0; rendEl("style:header"); } - /* 기본으로 한다. */ + /* Will be the default. */ else if( pPage->header_odd && !pPage->header_even ) { rstartEl("style:header", rList); @@ -1163,7 +1163,7 @@ void HwpReader::makeMasterStyles() d->nPnPos = 0; rendEl("style:header-left"); } - /* 기본으로 한다. */ + /* Will be the default. */ else if( pPage->header_even && !pPage->header_odd ) { rstartEl("style:header-left", rList); @@ -1198,7 +1198,7 @@ void HwpReader::makeMasterStyles() rendEl("text:p"); rendEl("style:header"); } -// ------------- footer ------------- +// footer if( pPage->footer ) { rstartEl("style:footer", rList); @@ -1229,7 +1229,7 @@ void HwpReader::makeMasterStyles() d->nPnPos = 0; rendEl("style:footer"); } - /* 기본으로 한다. */ + /* Will be the default. */ else if( pPage->footer_odd && !pPage->footer_even ) { rstartEl("style:footer", rList); @@ -1264,7 +1264,7 @@ void HwpReader::makeMasterStyles() d->nPnPos = 0; rendEl("style:footer-left"); } - /* 기본으로 한다. */ + /* Will be the default. */ else if( pPage->footer_even && !pPage->footer_odd ) { rstartEl("style:footer-left", rList); @@ -1307,11 +1307,11 @@ void HwpReader::makeMasterStyles() /** - * 텍스트 스타일을 위한 프로퍼티들을 만든다. + * Create the properties for text styles. * 1. fo:font-size, fo:font-family, fo:letter-spacing, fo:color, * style:text-background-color, fo:font-style, fo:font-weight, * style:text-underline,style:text-outline,fo:text-shadow,style:text-position - * 을 지원한다. + * Support them. */ void HwpReader::parseCharShape(CharShape * cshape) { @@ -1381,11 +1381,11 @@ void HwpReader::parseCharShape(CharShape * cshape) /** - * 실제 Paragraph에 해당하는 properties들을 만든다. + * Create the properties that correspond to the real Paragraph. * 1. fo:margin-left,fo:margin-right,fo:margin-top, fo:margin-bottom, * fo:text-indent, fo:line-height, fo:text-align, fo:border - * 가 구현됨. - * TODO : 탭설정 => 기본값이 아닌것들만 선택적으로 설정해야 한다. + * are implemented. + * TODO: Tab Settings => set values of properties only which doesn't have the default value */ void HwpReader::parseParaShape(ParaShape * pshape) { @@ -1453,7 +1453,7 @@ void HwpReader::parseParaShape(ParaShape * pshape) /** - * Paragraph에 대한 스타일을 만든다. + * Make the style of the Paragraph. */ void HwpReader::makePStyle(ParaShape * pshape) { @@ -1523,8 +1523,8 @@ void HwpReader::makePStyle(ParaShape * pshape) /** - * 페이지의 스타일을 만든다. 여기에는 header/footer, footnote등이 포함된다. - * TODO : , fo:background-color(정보가 없다) + * Create a style for the page. This includes the header/footer, footnote and more. + * TODO: fo: background-color (no information) */ void HwpReader::makePageStyle() { @@ -1757,7 +1757,7 @@ void HwpReader::makePageStyle() rendEl("style:properties"); rendEl("style:footer-style"); - /* footnote style 이건 dtd에서는 빠졌으나, 스펙에는 정의되어 있다. REALKING */ + /* Footnote style, but it fell in the dtd, the specification has been defined. REALKING */ rstartEl("style:footnote-layout", rList); padd("style:distance-before-sep", sXML_CDATA, @@ -1796,18 +1796,18 @@ void HwpReader::makeColumns(ColumnDef *coldef) { switch( coldef->separator ) { - case 1: /* 얇은선 */ + case 1: /* thin line */ padd("style:width", sXML_CDATA, "0.02mm"); //fall-through - case 3: /* 점선 */ + case 3: /* dotted line */ padd("style:style", sXML_CDATA, "dotted"); padd("style:width", sXML_CDATA, "0.02mm"); break; - case 2: /* 두꺼운선 */ - case 4: /* 2중선 */ + case 2: /* thick line */ + case 4: /* double line */ padd("style:width", sXML_CDATA, "0.35mm"); break; - case 0: /* 없음 */ + case 0: /* None */ default: padd("style:style", sXML_CDATA, "none"); break; @@ -1853,7 +1853,7 @@ void HwpReader::makeTStyle(CharShape * cshape) void HwpReader::makeTableStyle(Table *tbl) { -// --------------- table ---------------- +// table TxtBox *hbox = tbl->box; padd("style:name", sXML_CDATA, @@ -1870,7 +1870,7 @@ void HwpReader::makeTableStyle(Table *tbl) rendEl("style:properties"); rendEl("style:style"); -// --------------- column ---------------- +// column for (size_t i = 0 ; i < tbl->columns.nCount -1 ; i++) { sprintf(buf,"Table%d.%c",hbox->style.boxnum, static_cast<char>('A'+i)); @@ -1886,7 +1886,7 @@ void HwpReader::makeTableStyle(Table *tbl) rendEl("style:style"); } -// --------------- row ---------------- +// row for (size_t i = 0 ; i < tbl->rows.nCount -1 ; i++) { sprintf(buf,"Table%d.row%" SAL_PRI_SIZET "u",hbox->style.boxnum, i + 1); @@ -1902,7 +1902,7 @@ void HwpReader::makeTableStyle(Table *tbl) rendEl("style:style"); } -// --------------- cell --------------------- +// cell for (std::list<TCell*>::iterator it = tbl->cells.begin(), aEnd = tbl->cells.end(); it != aEnd; ++it) { TCell *tcell = *it; @@ -1920,14 +1920,14 @@ void HwpReader::makeTableStyle(Table *tbl) { switch( cl->linetype[2] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border", sXML_CDATA,"0.039cm double #000000"); break; @@ -1937,56 +1937,56 @@ void HwpReader::makeTableStyle(Table *tbl) { switch( cl->linetype[0] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-left", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-left", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-left", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-left", sXML_CDATA,"0.039cm double #000000"); break; } switch( cl->linetype[1] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-right", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-right", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-right", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-right", sXML_CDATA,"0.039cm double #000000"); break; } switch( cl->linetype[2] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-top", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-top", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-top", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-top", sXML_CDATA,"0.039cm double #000000"); break; } switch( cl->linetype[3] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-bottom", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-bottom", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-bottom", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-bottom", sXML_CDATA,"0.039cm double #000000"); break; @@ -2323,14 +2323,14 @@ void HwpReader::makeCaptionStyle(FBoxStyle * fstyle) case 0: padd("fo:padding", sXML_CDATA,"0mm"); break; - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border", sXML_CDATA,"0.039cm double #000000"); break; @@ -2340,56 +2340,56 @@ void HwpReader::makeCaptionStyle(FBoxStyle * fstyle) { switch( cell->linetype[0] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-left", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-left", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-left", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-left", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[1] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-right", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-right", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-right", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-right", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[2] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-top", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-top", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-top", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-top", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[3] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-bottom", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-bottom", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-bottom", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-bottom", sXML_CDATA,"0.039cm double #000000"); break; @@ -2408,7 +2408,7 @@ void HwpReader::makeCaptionStyle(FBoxStyle * fstyle) /** - * Floating 객체에 대한 스타일을 만든다. + * Create a style for the Floating objects. */ void HwpReader::makeFStyle(FBoxStyle * fstyle) { @@ -2534,14 +2534,14 @@ void HwpReader::makeFStyle(FBoxStyle * fstyle) case 0: padd("fo:border", sXML_CDATA, "none"); break; - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border", sXML_CDATA,"0.039cm double #000000"); break; @@ -2551,56 +2551,56 @@ void HwpReader::makeFStyle(FBoxStyle * fstyle) { switch( cell->linetype[0] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-left", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-left", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-left", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-left", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[1] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-right", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-right", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-right", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-right", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[2] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-top", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-top", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-top", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-top", sXML_CDATA,"0.039cm double #000000"); break; } switch( cell->linetype[3] ) { - case 1: /* 가는실선 */ - case 3: /* 점선 -> 스타오피스에는 점선이 없다. */ + case 1: /* A thin solid line */ + case 3: /* Dotted line -> LibreOffice, there is no dotted line */ padd("fo:border-bottom", sXML_CDATA,"0.002cm solid #000000"); break; - case 2: /* 굵은실선 */ + case 2: /* Bold lines */ padd("fo:border-bottom", sXML_CDATA,"0.035cm solid #000000"); break; - case 4: /* 2중선 */ + case 4: /* Double line */ padd("style:border-line-width-bottom", sXML_CDATA,"0.002cm 0.035cm 0.002cm"); padd("fo:border-bottom", sXML_CDATA,"0.039cm double #000000"); break; @@ -2688,7 +2688,7 @@ void HwpReader::makeChars(hchar_string & rStr) /** - * 문단내에 특수문자가 없고 모든 문자가 동일한 CharShape를 사용하는 경우 + * If no special characters in the paragraph and all characters use the same CharShape */ void HwpReader::make_text_p0(HWPPara * para, bool bParaStart) { @@ -2755,8 +2755,8 @@ void HwpReader::make_text_p0(HWPPara * para, bool bParaStart) } -/** - * 문단내에 특수문자가 없으나 문자들이 다른 CharShape를 사용하는 경우 +/* + * There is no special characters in the paragraph, but characters use different CharShapes */ void HwpReader::make_text_p1(HWPPara * para,bool bParaStart) { @@ -2839,7 +2839,7 @@ void HwpReader::make_text_p1(HWPPara * para,bool bParaStart) /** - * 문단 내의 특수문자가 있으며 문자들이 다른 CharShape를 갖는 경우에 대해 처리 + * Special characters are in the paragraph and characters use different CharShapes */ void HwpReader::make_text_p3(HWPPara * para,bool bParaStart) { @@ -2974,9 +2974,9 @@ void HwpReader::make_text_p3(HWPPara * para,bool bParaStart) } makeTab(static_cast<Tab *>(para->hhstr[n])); break; - case CH_TEXT_BOX: /* 10 - 표/텍스트박스/수식/버튼/하이퍼텍스트 순 */ + case CH_TEXT_BOX: /* 10 - ordered by Table/text box/formula/button/hypertext */ { -/* 일단은 표만 처리하고, 수식은 text:p안에 들어가는 것으로 처리. */ +/* produce tables first, and treat formula as being in text:p. */ TxtBox *hbox = static_cast<TxtBox *>(para->hhstr[n]); if( hbox->style.anchor_type == 0 ) @@ -3074,11 +3074,11 @@ void HwpReader::make_text_p3(HWPPara * para,bool bParaStart) makeChars(str); makeMailMerge(static_cast<MailMerge *>(para->hhstr[n])); break; - case CH_COMPOSE: /* 23 - 글자겹침 */ + case CH_COMPOSE: /* 23 - overlapping letters */ break; case CH_HYPHEN: // 24 break; - case CH_TOC_MARK: /* 25 아래의 3개는 작업해야 한다. */ + case CH_TOC_MARK: /* 25 Need to fix below 3 */ if( !pstart ) {STARTP;} if( !tstart ) {STARTT;} makeChars(str); @@ -3106,7 +3106,7 @@ void HwpReader::make_text_p3(HWPPara * para,bool bParaStart) void HwpReader::makeFieldCode(hchar_string & rStr, FieldCode *hbox) { -/* 누름틀 */ +/* Push frame */ if( hbox->type[0] == 4 && hbox->type[1] == 0 ) { padd("text:placeholder-type", sXML_CDATA, "text"); @@ -3117,7 +3117,7 @@ void HwpReader::makeFieldCode(hchar_string & rStr, FieldCode *hbox) rchars( OUString(rStr.c_str())); rendEl( "text:placeholder" ); } -/* 문서요약 */ +/* Document Summary */ else if( hbox->type[0] == 3 && hbox->type[1] == 0 ) { if (hconv(hbox->str3) == "title") @@ -3145,7 +3145,7 @@ void HwpReader::makeFieldCode(hchar_string & rStr, FieldCode *hbox) rendEl( "text:keywords" ); } } -/* 개인정보 */ +/* Personal Information */ else if( hbox->type[0] == 3 && hbox->type[1] == 1 ) { if (hconv(hbox->str3) == "User") @@ -3225,7 +3225,7 @@ void HwpReader::makeFieldCode(hchar_string & rStr, FieldCode *hbox) /** * Completed - * 스타오피스에서는 북마크를 Reference로 참조하나 hwp에는 그 기능이 없다. + * In LibreOffice, refer bookmarks as reference, but hwp doesn't have the sort of feature. */ void HwpReader::makeBookmark(Bookmark * hbox) { @@ -3236,7 +3236,7 @@ void HwpReader::makeBookmark(Bookmark * hbox) pList->clear(); rendEl("text:bookmark"); } - else if (hbox->type == 1) /* 블록 북마크일 경우 시작과 끝이 있다 */ + else if (hbox->type == 1) /* Block bookmarks days begin and end there if */ { padd("text:name", sXML_CDATA, (hconv(hbox->id))); rstartEl("text:bookmark-start", rList); @@ -3433,7 +3433,7 @@ void HwpReader::makeTable(TxtBox * hbox) pList->clear(); Table *tbl = hbox->m_pTable; -// ----------- column ---------------- +// column for (size_t i = 0 ; i < tbl->columns.nCount -1 ; i++) { sprintf(buf,"Table%d.%c",hbox->style.boxnum, static_cast<char>('A'+i)); @@ -3443,7 +3443,7 @@ void HwpReader::makeTable(TxtBox * hbox) rendEl("table:table-column"); } -// ----------- cell ---------------- +// cell int j = -1, k = -1; for (std::list<TCell*>::iterator it = tbl->cells.begin(), aEnd = tbl->cells.end(); it != aEnd; ++it) { @@ -3455,7 +3455,7 @@ void HwpReader::makeTable(TxtBox * hbox) rendEl("table:table-row"); k = j; } -// --------------- row ---------------- +// row sprintf(buf,"Table%d.row%d",hbox->style.boxnum, tcell->nRowIndex + 1); padd("table:style-name", sXML_CDATA, ascii( buf )); rstartEl("table:table-row", rList); @@ -3485,10 +3485,10 @@ void HwpReader::makeTable(TxtBox * hbox) /** - * 텍스트박스와 테이블을 파싱한다. - * 1. draw:style-name, draw:name, text:anchor-type, svg:width, - * fo:min-height, svg:x, svg:y - * TODO : fo:background-color로 셀의 칼라 설정=>스타일에 들어가는 지 아직 모르겠다. + * Parses the text boxes and tables. + * 1. draw: style-name, draw: name, text: anchor-type, svg: width, + * Fo: min-height, svg: x, svg: y + * TODO: fo:background-color <= no idea whether the value of color setting->style is in it or not */ void HwpReader::makeTextBox(TxtBox * hbox) { @@ -3530,7 +3530,7 @@ void HwpReader::makeTextBox(TxtBox * hbox) Double2Str(WTMM(( hbox->box_ys + hbox->cap_ys) )) + "mm"); rstartEl("draw:text-box", rList); pList->clear(); - if( hbox->cap_pos % 2 ) /* 캡션이 위쪽에 위치한다 */ + if( hbox->cap_pos % 2 ) /* The caption is on the top */ { parsePara(hbox->caption.front()); } @@ -3597,7 +3597,7 @@ void HwpReader::makeTextBox(TxtBox * hbox) { rstartEl("draw:text-box", rList); pList->clear(); -/* 캡션이 존재하고, 위쪽에 있으면 */ +/* If captions are present and it is on the top */ if( hbox->style.cap_len > 0 && (hbox->cap_pos % 2) && hbox->type == TBL_TYPE ) { parsePara(hbox->caption.front()); @@ -3610,7 +3610,7 @@ void HwpReader::makeTextBox(TxtBox * hbox) { parsePara(hbox->plists[0].front()); } -/* 캡션이 존재하고, 아래쪽에 있으면 */ +/* If captions are present and it is on the bottom */ if( hbox->style.cap_len > 0 && !(hbox->cap_pos % 2) && hbox->type == TBL_TYPE) { parsePara(hbox->caption.front()); @@ -3638,7 +3638,7 @@ void HwpReader::makeTextBox(TxtBox * hbox) /** - * MathML로 변환해야 한다. + * It must be converted into MathML. * */ void HwpReader::makeFormula(TxtBox * hbox) @@ -3690,12 +3690,11 @@ void HwpReader::makeFormula(TxtBox * hbox) delete form; } - /** - * platform정보를 읽어들여서 href가 C:\나 D:\로 시작할 경우 리눅스나 솔라리스이면 - * C:\ => 홈으로, D:\ => 루트(/)로 바꾸어주는 작업이 필요하다. 이것은 - * 한컴이 도스에뮬레이터를 쓰기 때문이다. + * Read the platform information. if the platform is Linux or Solaris, it needs to change + * C: \ => Home, D: \ => changed to root (/). Because HWP uses DOS emulator. */ + void HwpReader::makeHyperText(TxtBox * hbox) { HyperText *hypert = hwpfile.GetHyperText(); @@ -3740,10 +3739,10 @@ void HwpReader::makeHyperText(TxtBox * hbox) /** - * platform정보를 읽어들여서 href가 C:\나 D:\로 시작할 경우 리눅스나 솔라리스이면 - * C:\ => 홈으로, D:\ => 루트(/)로 바꾸었다. 이것은 - * 한컴이 도스에뮬레이터를 쓰기 때문이다. + * Read the platform information. if the platform is Linux or Solaris, it needs to change¶ + * C: \ => Home, D: \ => changed to root (/). Because HWP uses DOS emulator. */ + void HwpReader::makePicture(Picture * hbox) { switch (hbox->pictype) @@ -3790,7 +3789,7 @@ void HwpReader::makePicture(Picture * hbox) Double2Str(WTMM( hbox->box_ys + hbox->style.margin[1][2] + hbox->style.margin[1][3] + hbox->cap_ys )) + "mm"); rstartEl("draw:text-box", rList); pList->clear(); - if( hbox->cap_pos % 2 ) /* 캡션이 위쪽에 위치한다 */ + if( hbox->cap_pos % 2 ) /* Caption is on the top */ { parsePara(hbox->caption.front()); } @@ -3935,7 +3934,7 @@ void HwpReader::makePicture(Picture * hbox) if( hbox->style.cap_len > 0 ) { rendEl( "text:p"); - if( !(hbox->cap_pos % 2)) /* 캡션이 아래쪽에 위치하면, */ + if( !(hbox->cap_pos % 2)) /* Caption is at the bottom, */ { parsePara(hbox->caption.front()); } @@ -4013,13 +4012,13 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) ZZPoint pt[3], r_pt[3]; for(i = 0 ; i < 3 ; i++ ){ pt[i].x = pal->pt[i].x - drawobj->property.rot_originx; - /* 물리좌표계로 변환 */ + /* Convert to a physical coordinate */ pt[i].y = -(pal->pt[i].y - drawobj->property.rot_originy); } double rotate, skewX ; - /* 2 - 회전각 계산 */ + /* 2 - rotation angle calculation */ if( pt[1].x == pt[0].x ){ if( pt[1].y > pt[0].y ) rotate = PI/2; @@ -4036,7 +4035,7 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) r_pt[i].y = (int)(pt[i].y * cos(-(rotate)) + pt[i].x * sin(-(rotate))); } - /* 4 - 휜각 계산 */ + /* 4 - Calculation of reflex angle */ if( r_pt[2].y == r_pt[1].y ) skewX = 0; else @@ -4074,7 +4073,7 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) } switch (drawobj->type) { - case HWPDO_LINE: /* 선 - 시작좌표, 끝좌표. */ + case HWPDO_LINE: /* Line-starting coordinates, ending coordinates. */ if( drawobj->u.line_arc.flip & 0x01 ) { padd("svg:x1", sXML_CDATA, @@ -4108,7 +4107,7 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) pList->clear(); rendEl("draw:line"); break; - case HWPDO_RECT: /* 사각형 - 시작위치, 가로/세로 */ + case HWPDO_RECT: /* rectangle - the starting position, vertical/horizontal */ if( !bIsRotate ) { padd("svg:x", sXML_CDATA, @@ -4150,8 +4149,8 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) } rendEl("draw:rect"); break; - case HWPDO_ELLIPSE: /* 타원 - 시작위치, 가로/세로 */ - case HWPDO_ADVANCED_ELLIPSE: /* 변형된 타원 */ + case HWPDO_ELLIPSE: /* Ellipse - the starting position, vertical/horizontal */ + case HWPDO_ADVANCED_ELLIPSE: /* modified ellipse */ { if( !bIsRotate ) { @@ -4200,10 +4199,10 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) break; } - case HWPDO_ARC: /* 호 */ + case HWPDO_ARC: /* Arc */ case HWPDO_ADVANCED_ARC: { - /* 호일경우에, 스타오피스는 전체 타원의 크기를 사이즈로 한다. */ + /* If it is the arc, LibreOffice assumes the size as the entire ellipse size */ uint flip = drawobj->u.line_arc.flip; if( !bIsRotate ) { @@ -4310,7 +4309,7 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) break; } - case HWPDO_CURVE: /* 곡선 : 다각형으로 변환. */ + case HWPDO_CURVE: /* Curve: converts to polygons. */ { bool bIsNatural = true; if( drawobj->property.flag >> 5 & 0x01){ @@ -4426,7 +4425,7 @@ void HwpReader::makePictureDRAW(HWPDrawingObject *drawobj, Picture * hbox) break; } case HWPDO_CLOSED_FREEFORM: - case HWPDO_FREEFORM: /* 다각형 */ + case HWPDO_FREEFORM: /* polygon */ { bool bIsPolygon = false; @@ -4569,8 +4568,8 @@ void HwpReader::makeLine(Line * ) /** - * 입력-주석-숨은설명 : 사용자에게 숨은 설명을 보여준다. - * 문단이 포함될 수 있으나, 단지 문자열만 뽑아내어 파싱한다. + * Input-comment-hidden description: shows a hidden explanation to the users. + * Parse out only strings, but it may contain paragraphs. */ void HwpReader::makeHidden(Hidden * hbox) { @@ -4603,7 +4602,7 @@ void HwpReader::makeHidden(Hidden * hbox) /** - * 각주는 text:footnote, 미주는 text:endnote로 변환 + * Converts footnote to text:footnote, endnote to text:endnote */ void HwpReader::makeFootnote(Footnote * hbox) { @@ -4693,7 +4692,7 @@ void HwpReader::makeShowPageNum() nPos = 2; else if( hbox->where == 3 || hbox->where == 6 ) nPos = 3; - else /* 이 경우가 존재하면 안된다. */ + else /* should not exist in this case. */ { if( d->nPnPos == 1 ) nPos = 1; |