차례 저작권 1 본문서에대하여... 2 I. 글 5.0 파일구조 3 1. 개요 5 2. 자료형설명 6 3. 글파일구조 글파일구조요약 스토리지별저장정보 파일인식정보 문서정보 본문 문

Size: px
Start display at page:

Download "차례 저작권 1 본문서에대하여... 2 I. 글 5.0 파일구조 3 1. 개요 5 2. 자료형설명 6 3. 글파일구조 글파일구조요약 스토리지별저장정보 파일인식정보 문서정보 본문 문"

Transcription

1 글문서파일구조 5.0 Hwp Document File Formats 5.0 revision 1.3:

2 차례 저작권 1 본문서에대하여... 2 I. 글 5.0 파일구조 3 1. 개요 5 2. 자료형설명 6 3. 글파일구조 글파일구조요약 스토리지별저장정보 파일인식정보 문서정보 본문 문서요약 바이너리데이터 미리보기텍스트 미리보기이미지 문서옵션 스크립트 XML 템플릿 문서이력관리 참고문헌 데이터레코드 데이터레코드구조 문서정보 의데이터레코드 17

3 문서속성 아이디매핑헤더 바이너리데이터 글꼴 테두리 / 배경 글자모양 탭정의 문단번호 글머리표 문단모양 스타일 ( 문단스타일 ) 문서임의의데이터 배포용문서데이터 호환문서 레이아웃호환성 본문 의데이터레코드 문단헤더 Tag ID : HWPTAG_PARA_HEADER 문단의텍스트 문단의글자모양 문단의레이아웃 문단의영역태그 컨트롤헤더 문단리스트헤더 컨트롤임의의데이터 개체공통속성을포함하는컨트롤 ( 개체컨트롤 ) 표개체 그리기개체 ( 선, 사각형, 타원, 호, 다각형, 곡선 ) 개체요소 선개체 사각형개체 타원개체 다각형개체 호개체 45

4 곡선개체 글수식개체 그림개체 (HWPTAG_SHAPE_COMPONENT_PICTURE) OLE 개체 (HWPTAG_SHAPE_COMPONENT_OLE) 차트개체 묶음개체 (HWPTAG_SHAPE_COMPONENT_CONTAINER) 동영상개체 (HWPTAG_VIDEO_TDATA) 개체이외의컨트롤 구역정의 용지설정 각주 / 미주모양 쪽테두리 / 배경 단정의 머리말 / 꼬리말 각주 / 미주 자동번호 새번호지정 감추기 홀 / 짝수조정 쪽번호위치 찾아보기표식 책갈피 글자겹침 덧말 숨은설명 필드시작 문서이력관리 문서이력관리란 문서이력관리레코드정보 히스토리아이템정보시작 히스토리아이템정보끝 히스토리아이템버전 히스토리날짜 63

5 히스토리작성자 히스토리설명 비교정보 가장마지막최근문서 63 변경사항이력 65

6 저작권 ( 주 ) 한글과컴퓨터 ( 이하 한컴 ) 는문서형식의개방성과표준화에대하여적극찬성합니다. 한컴은 글 97의문서형식을무상으로지원한바있으며, 글 2002~2010 문서의 XML 형식은 HWPML 에대해서도문서형식을공개한바있습니다. 개방형문서표준화및코드관련위원회에도적극적으로참여하여파일형식의표준화와개방성을위해노력해왔습니다. 이러한결과로 HWPML 스펙이 OWPML 란이름으로한국산업표준 (KS X 6101:2011) 으로제정되었습니다. 또한, 한컴오피스에서기록물장기보존표준포맷인 PDF/A-1 의지원과 ISO 국제문서형식인 ODF 와 OOXML 파일형식의불러오기와저장하기를적극적으로지원하였습니다. 본문서를열람하고자하는자라면누구에게나제공되는것이며, 본문서를열람하는것외에복사, 배포, 게재및본문서에기재되어있는내용을사용하고자하는자는한글과컴퓨터의본저작권을충분히인식하고동의하여야합니다. 본문서를누구나열람, 복사, 배포, 게재및사용을자유롭게할수있습니다. 다만, 배포는원내용이일체수정되지않은원본또는복사본으로제한됩니다. 원본및복사본은한컴에서제공하는스펙의최신버전을포함하고있어야합니다. 한컴은한컴오피스 글문서파일 (.hwp) 공개문서에따라얻은결과물을기초로또다른독점적, 배타적권리를취득하고이를 ( 주 ) 한글과컴퓨터를상대로행사하고자하는자를상대로는적극적으로권리행사를할수도있습니다. 그리고, 본문서및본문서에기재된내용을참고하여개발한결과물에대한모든저작권은결과물을개발한개인또는단체에있을것입니다. 그러나반드시개발결과물에 본제품은한글과컴퓨터의 글문서파일 (.hwp) 공개문서를참고하여개발하였습니다. 라고제품내사용자인터페이스, 매뉴얼, 도움말및소스에모두기재하여야하며제품이이러한구성물이없을시에는존재하는구성물에만기재합니다. 한컴은본문서및본문서에기재된내용을참고하여개발한결과물에대해서어떠한정확성, 진실성도보증하지아니합니다. 1

7 본문서에대하여... 본문서는 글워드프로세서의파일저장형식중, 글 2002 이후제품에서사용되는 글문서파일형식 5.0 에관하여설명한다. 본문서는 글문서파일형식 5.0의주요한자료형식및파일구조, 레코드구조에대해서설명한다. 글문서수식, 차트, 배포용문서, 글문서파일형식 3.0, HWPML 에관해서는별도의문서에서설명한다. 2

8 I. 글 5.0 파일구조 (Hwp Document File Format 5.0)

9 4

10 1. 개요 글의문서파일은사용자가따로지정하지않는한.HWP를기본확장자로가진다. 문서파일에저장되는내용은, 실제사용자가입력한문서의내용과문자장식정보뿐만아니라문서를편집할당시의글꼴에대한정보, 조판에영향을주는설정사항 ( 용지종류, 여백정보등 ) 도포함된다. 글문서파일형식 5.0은 2000년 10월이후에출시된 글제품군 ( 글워디안, 글 2002, 글 2005, 글 2007, 글 2010, 글 2014, 글 2018 등 ) 에서생성되며, 문서버전에따라큰골격은유지되나, 추가적인정보들에의해약간의차이가있다. 글문서파일형식 5.0은파일의크기를최소화하기위하여압축기능을이용한다. 압축된문서파일도기본적인정보를저장하는부분은압축되지않으며, 실제압축되는부분은사용자가입력한본문과그림관련데이터부분이다. 글은문서파일의압축에 zlib.org 의 zlib을사용했다. zlib은웹상에소스가공개되어있는공개소프트웨어이다. zlib은 zlib License 를따르며, 이는소스의자유로운사용이가능하며해당소스를사용한 2차산출물에대한소스공개의무가없다. 자세한사항은 zlib에포함되어있는라이센스문서파일을참조하기바란다. 글문서파일형식 5.0의구조는윈도우즈의복합파일 (Compound File) 에기초를두며, 문자코드는 ISO 표준을기반으로한다. 대부분의문자정보는유니코드 (UTF-16LE) 형식으로전달되고, 저장된다. Compound File 에대한접근방법은 OLE 관련자료또는 MSDN 을참고 StgOpenStorage(), IStorage::Open(),... 5

11 2. 자료형설명 앞으로계속되는설명에서 글의문서파일에저장되는정보는아래표에설명하는자료형을이용해 표현한다. 자료형에서한바이트는 8 비트로표현되며, 두바이트이상의길이를가지는자료형은최하위바이트가 가장먼저저장되고, 최상위바이트가가장나중에저장되는리틀엔디언 (Little-endian) 형태이다. 파일에저장되는자료가배열 (array) 일때는 자료형 array[ 개수 ] 와같이표현한다. 예를들어 10 개의 원소를갖는 word 배열이면 word array[10] 과같이표현한다. 자료형 길이 부호 설명 BYTE 1 부호없는한바이트 (0~255) WORD 2 16비트컴파일러에서 unsigned int 에해당 DWORD 4 16비트컴파일러에서 unsigned long 에해당 WCHAR 2 글의기본코드로유니코드기반문자 HWPUNIT 4 1/7200 인치로표현된 글내부단위 SHWPUNIT 4 1/7200 인치로표현된 글내부단위 UINT8 1 unsigned int8 에해당 UINT16 2 unsigned int16 에해당 UINT32(=UINT) 4 unsigned int32 에해당 INT8 1 signed int8 에해당 INT16 2 signed int16 에해당 INT32 4 signed int32 에해당 HWPUNIT16 2 INT16 과같다. COLORREF 4 RGB값 (0x00bbggrr) 을십진수로표시 (rr : red 1 byte, gg : green 1 byte, bb : blue 1 byte) BYTE stream 일련의 BYTE로구성됨. 본문내에서다른구조를참조할경우에사용됨. 표 1 자료형 WCHAR 는 글의내부코드로표현된문자한글자를표현하는자료형이다. 글의내부코드는한글, 영문, 한자를비롯해모든문자가 2 바이트의일정한길이를가진다. HWPUNIT 과 SHWPUNIT 는문자의크기, 그림의크기, 용지여백등, 문서를구성하는요소들의크기를표현하기위한자료형이다. 문서출력장치의해상도는가변적이기때문에, 크기정보를점 ( 도트 ) 의수로표현할수는없다. 따라서일정한단위를기준으로해야하는데, 글에서는 1/7200 인치를기본단위로사용한다. 예를들어 [ 가로 2 인치 x 세로 1 인치 ] 짜리그림의크기를 HWPUNIT 형으로표현하면각각 x 7200이된다. 6

12 3. 글파일구조 3.1. 글파일구조요약 글의문서파일은개괄적으로다음표와같은구조를가진다. 복합파일 (Compound File) 구조를 가지기때문에, 내부적으로스토리지 (Storage) 와스트림 (Stream) 을구별하기위한이름을가진다. 하나의스트림에는일반적인바이너리나레코드구조로데이터가저장되고, 스트림에따라서압축 / 암호 화되기도한다. Storage Stream 설명구별이름길이 ( 바이트 ) 레코드구조압축 / 암호화 파일인식정보 FileHeader 고정 문서정보 DocInfo 고정 본문 BodyText Section0 Section1 가변... 문서요약 \005HwpSummaryInformation 고정 바이너리데이터 BinData BinaryData0 BinaryData1... 가변 미리보기텍스트 PrvText 고정 미리보기이미지 PrvImage 가변 문서옵션 스크립트 XML 템플릿 문서이력관리 DocOptions _LinkDoc DrmLicense... Scripts DefaultJScript JScriptVersion... XMLTemplate Schema Instance... DocHistory VersionLog0 VersionLog1... 표 2 전체구조 가변 가변 가변 가변 압축된문서파일의경우문서파일을읽는쪽에서는 파일인식정보 항목의 압축 플래그를살펴보고, 압축된파일이면압축을풀어서처리해야한다. 이후의설명에서는압축이풀린상태의파일을기준으로한다. 문서정보 와 본문 문서이력관리 에사용되는 레코드구조 는이후 데이터레코드 란에서구조설명과사용되는레코드들에대한상세한설명을한다 스토리지별저장정보 파일인식정보 7

13 글의문서파일이라는것을나타내기위해 파일인식정보 가저장된다. FileHeader 스트림에저장되는데이터는다음과같다. BYTE array[32] 32 signature. 문서파일은 "HWP Document File" 파일버전. 0xMMnnPPrr 의형태 ( 예 ) MM: 문서형식의구조가완전히바뀌는것을나타냄. 숫자가다르면구버전과호환불가능. nn: 큰구조는동일하나, 큰변화가있는것을나타냄. 숫자가다르면구버전과호환불가능. DWORD 4 PP: 구조는동일, Record 가추가되었거나, 하위버전에서호환되지않는정보가추가된것을나타냄. 숫자가달라도구버전과호환가능. rr: Record 에정보들이추가된것을나타냄. 숫자가달라도구버전과호환가능. 속성범위설명 bit 0 압축여부 bit 1 암호설정여부 bit 2 배포용문서여부 bit 3 스크립트저장여부 bit 4 DRM 보안문서여부 bit 5 XMLTemplate 스토리지존재여부 bit 6 문서이력관리존재여부 bit 7 전자서명정보존재여부 DWORD 4 bit 8 공인인증서암호화여부 bit 9 전자서명예비저장여부 bit 10 공인인증서 DRM 보안문서여부 bit 11 CCL 문서여부 bit 12 모바일최적화여부 bit 13 개인정보보안문서여부 bit 14 변경추적문서여부 bit 15 공공누리 (KOGL) 저작권문서 bit 16 비디오컨트롤포함여부 bit 17 차례필드컨트롤포함여부 bit 18~31 예약속성범위설명 bit 0 CCL, 공공누리라이선스정보 DWORD 4 bit 1 복제제한여부동일조건하에복제허가여부 bit 2 ( 복제제한인경우무시 ) bit 3~31 예약 EncryptVersion 0 : None 1 : ( 글 2.5 버전이하 ) DWORD 4 2 : ( 글 3.0 버전 Enhanced) 3 : ( 글 3.0 버전 Old) 4 : ( 글 7.0 버전이후 ) 공공누리 (KOGL) 라이선스지원국가 BYTE 1 6 : KOR 15 : US BYTE array[207] 207 예약전체길이 256 표 3 파일인식정보 문서정보 8

14 본문에사용중인글꼴, 글자속성, 문단속성, 탭, 스타일등에문서내공통으로사용되는세부정보를 담고있다. DocInfo 스트림에저장되는데이터는다음과같다. Tag ID 길이 ( 바이트 ) 레벨설명 HWPTAG_DOCUMENT_PROPERTIES 30 0 문서속성 ( 표 14 참조 ) HWPTAG_ID_MAPPINGS 32 0 아이디매핑헤더 ( 표 15 참조 ) HWPTAG_BIN_DATA 가변 1 바이너리데이터 ( 표 17 참조 ) HWPTAG_FACE_NAME 가변 1 글꼴 ( 표 19 참조 ) HWPTAG_BORDER_FILL 가변 1 테두리 / 배경 ( 표 23 참조 ) HWPTAG_CHAR_SHAPE 72 1 글자모양 ( 표 33 참조 ) HWPTAG_TAB_DEF 14 1 탭정의 ( 표 36 참조 ) HWPTAG_NUMBERING 가변 1 문단번호 ( 표 38 참조 ) HWPTAG_BULLET 10 1 글머리표 ( 표 42 참조 ) HWPTAG_PARA_SHAPE 54 1 문단모양 ( 표 43 참조 ) HWPTAG_STYLE 가변 1 스타일 ( 표 47 참조 ) HWPTAG_MEMO_SHAPE 22 1 메모모양 HWPTAG_TRACK_CHANGE_AUTHOR 가변 1 변경추적작성자 HWPTAG_TRACK_CHANGE 가변 1 변경추적내용및모양 HWPTAG_DOC_DATA 가변 0 문서임의의데이터 ( 표 49 참조 ) HWPTAG_FORBIDDEN_CHAR 가변 0 금칙처리문자 HWPTAG_COMPATIBLE_DOCUMENT 4 0 호환문서 ( 표 54 참조 ) HWPTAG_LAYOUT_COMPATIBILITY 20 1 레이아웃호환성 ( 표 56 참조 ) HWPTAG_DISTRIBUTE_DOC_DATA 배포용문서 HWPTAG_TRACKCHANGE 변경추적정보 전체길이 가변 표 4 문서정보 각각의세부정보는 < 문서정보 의데이터레코드 > 란에서추가로다룬다 본문문서의본문에해당되는문단, 표, 그리기개체등의내용이저장된다. BodyText 스토리지는본문의구역에따라 Section%d 스트림 (%d는구역의번호 ) 으로구분된다. 구역의개수는문서정보의문서속성에저장된다. 각구역의첫문단에는구역정의레코드가저장되고, 각단설정의첫문단에는단정의레코드가저장된다. 각구역의가장끝위치에는확장바탕쪽 ( 마지막쪽, 임의쪽 ) 관련정보가저장되고, 마지막구역의가장끝위치에는메모관련정보가저장된다. Section 스트림에저장되는데이터는문단들 ( 문단리스트 ) 이며, 다음과같은문단정보들이반복된다. Tag ID 길이 ( 바이트 ) 레벨설명 HWPTAG_PARA_HEADER 22 0 문단헤더 ( 표 58 참조 ) HWPTAG_PARA_TEXT 가변 1 문단의텍스트 ( 표 60 참조 ) HWPTAG_PARA_CHAR_SHAPE 가변 1 문단의글자모양 ( 표 61 참조 ) HWPTAG_PARA_LINE_SEG 가변 1 문단의레이아웃 9

15 HWPTAG_PARA_RANGE_TAG 가변 1 문단의영역태그 ( 표 63 참조 ) HWPTAG_CTRL_HEADER 4 1 컨트롤헤더 ( 표 64 참조 ) HWPTAG_LIST_HEADER 6 2 문단리스트헤더 ( 표 65 참조 ) HWPTAG_PAGE_DEF 40 2 용지설정 HWPTAG_FOOTNOTE_SHAPE 30 2 각주 / 미주모양 HWPTAG_PAGE_BORDER_FILL 14 2 쪽테두리 / 배경 HWPTAG_SHAPE_COMPONENT 4 2 개체 HWPTAG_TABLE 가변 2 표개체 HWPTAG_SHAPE_COMPONENT_LINE 20 3 직선개체 HWPTAG_SHAPE_COMPONENT_RECTANGLE 9 3 사각형개체 HWPTAG_SHAPE_COMPONENT_ELLIPSE 60 3 타원개체 HWPTAG_SHAPE_COMPONENT_ARC 25 3 호개체 HWPTAG_SHAPE_COMPONENT_POLYGON 가변 3 다각형개체 HWPTAG_SHAPE_COMPONENT_CURVE 가변 3 곡선개체 HWPTAG_SHAPE_COMPONENT_OLE 26 3 OLE 개체 HWPTAG_SHAPE_COMPONENT_PICTURE 가변 3 그림개체 HWPTAG_CTRL_DATA 가변 2 컨트롤임의의데이터 HWPTAG_EQEDIT 가변 2 수식개체 HWPTAG_SHAPE_COMPONENT_TEXTART 가변 3 글맵시 HWPTAG_FORM_OBJECT 가변 2 양식개체 HWPTAG_MEMO_SHAPE 22 1 메모모양 HWPTAG_MEMO_LIST 4 1 메모리스트헤더 HWPTAG_CHART_DATA 2 2 차트데이터 HWPTAG_VIDEO_DATA 가변 3 비디오데이터 HWPTAG_SHAPE_COMPONENT_UNKNOWN 36 3 Unknown 전체길이 가변 표 5 본문 문단에컨트롤이포함되는경우컨트롤헤더이후로문단리스트헤더와같은컨트롤의레코드데이터가 저장된다. o 제어문자 ( 컨트롤 ) 표, 그림등일반문자로표현할수없는요소를표현하기위해서문자코드중일부분을특수용도로 사용하고있다. 문단내용중에문자코드가 0-31 인문자들은특수용도로사용된다. 이미 13 번문자는문단내용의 끝식별기호로사용된다는것은설명한바있다. 이외의특수문자들은표나그림등, 일반문자로 표현할수없는문서장식요소를표현하기위해서제어문자 ( 컨트롤 ) 로사용된다. 제어문자는다음세가지형식이존재한다. - 문자컨트롤 [char] = 하나의문자로취급되는문자컨트롤 / size = 1 - 인라인컨트롤 [inline] = 별도의오브젝트포인터를가리키지않는단순한인라인컨트롤 / size = 8 - 확장컨트롤 [extended] = 별도의오브젝트가데이터를표현하는확장컨트롤 / size = 8 코드설명컨트롤형식 0 unusable char 1 예약 extended 2 구역정의 / 단정의 extended 3 필드시작 ( 누름틀, 하이퍼링크, 블록책갈피, 표계산식, 문서요약, 사용자정보, 현재날짜 / 시간, 문서날짜 / 시간, 파일경로, 상호참조, 메일머지, 메모, 교정부호, 개인정보 ) extended 10

16 4 필드끝 inline 5-7 예약 inline 8 title mark inline 9 탭 inline 10 한줄끝 (line break) char 11 그리기개체 / 표 extended 12 예약 extended 13 문단끝 (para break) char 14 예약 extended 15 숨은설명 extended 16 머리말 / 꼬리말 extended 17 각주 / 미주 extended 18 자동번호 ( 각주, 표등 ) extended 예약 inline 21 페이지컨트롤 ( 감추기, 새번호로시작등 ) extended 22 책갈피 / 찾아보기표식 extended 23 덧말 / 글자겹침 extended 24 하이픈 char 예약 char 30 묶음빈칸 char 31 고정폭빈칸 char 표 6 제어문자 문서파일에서문단내용을읽다가제어문자를발견하면, 문서를읽는쪽에서는제어문자종류에따라읽어들이거나건너뛰어다음데이터의시작위치까지파일포인터를옮기기위한적절한처리를수행해야한다. 제어문자가운데는또다른문단리스트를포함하는경우도있기때문에, 제어문자를일반문자처럼처리하면문서파일을정상적으로읽을수없다. 표, 각주등과같은문단리스트를포함하는컨트롤문자들은독자적인문단리스트를가진다. 해당리스트들은아래와같은리스트헤더정보를포함한다. 실제문단들은그다음에 serialize 된다. 문단내에서컨트롤은세가지형식에따라다음과같은차이가있다. 문자컨트롤부가정보없이문자하나로표현되는제어문자이다. (3번째 ch) A B C ch D E F G H I J 13 인라인컨트롤부가정보가 12바이트 (6 WCHAR) 이내에서표현될수있는제어문자이다. info 에부가정보를다넣지못하는경우는확장컨트롤로대체된다.(3~9까지 8개의 ch) A B ch info ch C 13 확장컨트롤 제어문자는포인터를가지고있고, 포인터가가리키는곳에실제오브젝트가존재하는제어문자이 11

17 다.(3~9 까지 8 개의 ch) A B ch pointer ch C 13 Control Object Instance 본문서에부가설명없이 컨트롤 또는 제어문자 이라고하면바로이확장컨트롤을지칭하는것이다 문서요약 \005HwpSummaryInfomation 스트림에는 글메뉴의 파일- 문서정보- 문서요약 에서입력한내용이저장된다. Summary Information 에대한자세한설명은 MSDN을참고 The Summary Information Property Set The DocumentSummaryInformation and UserDefined Property Set Name Property ID string Property ID VT type Title PIDSI_TITLE 0x VT_LPSTR Subject PIDSI_SUBJECT 0x VT_LPSTR Author PIDSI_AUTHOR 0x VT_LPSTR Keywords PIDSI_KEYWORDS 0x VT_LPSTR Comments PIDSI_COMMENTS 0x VT_LPSTR Last Saved By PIDSI_LASTAUTHOR 0x VT_LPSTR Revision Number PIDSI_REVNUMBER 0x VT_LPSTR Last Printed PIDSI_LASTPRINTED 0x B VT_FILETIME (UTC) Create Time/Date( (*)) PIDSI_CREATE_DTM 0x C VT_FILETIME (UTC) Last saved Time/Date( (*)) PIDSI_LASTSAVE_DTM 0x D VT_FILETIME (UTC) Number of Pages PIDSI_PAGECOUNT 0x E VT_I4 Date String(User define) HWPPIDSI_DATE_STR 0x VT_LPSTR Para Count(User define) HWPPIDSI_PARACOUN T 0x VT_I4 표 7 문서요약 바이너리데이터 BinData 스토리지에는그림이나 OLE 개체와같이문서에첨부된바이너리데이터가각각의스트림으 로저장된다 미리보기텍스트 PrvText 스트림에는미리보기텍스트가유니코드문자열로저장된다. 12

18 미리보기이미지 PrvImage 스트림에는미리보기이미지가 BMP 또는 GIF 형식으로저장된다 문서옵션 DocOptions 스토리지에는연결문서, 배포용문서, 공인인증서 DRM, 전자서명관련정보가각각의스트림으로저장된다. _LinkDoc 스트림에는연결된문서의경로가저장된다. DrmLicense 스트림에는 DRM Packaging 의 Verision 정의가저장된다. DrmRootSect 스트림에는암호화알고리즘이저장된다. CertDrmHeader 스트림에는 DRM Packaging 의 Verision 정의가저장된다. CertDrmInfo 스트림에는공인인증서 DRM 정보가저장된다. DigitalSignature 스트림에는전자서명정보가저장된다. PublicKeyInfo 스트림에는공개키정보가저장된다 스크립트 Scripts 스토리지에는 Script 코드를저장한다. JScriptVersion 스트림에는 Script Version 이저장된다. 자료형 길이 ( 바이트 ) 설명 DWORD 4 스크립트버전 HIGH DWORD 4 스크립트버전 LOW 전체길이 8 표 8 스크립트버전 DefaultJScript 스트림에는 Script 헤더, 소스, Pre 소스, Post 소스가저장된다. 자료형 길이 ( 바이트 ) 설명 DWORD 4 스크립트헤더길이 (len1) WCHAR array[len1] 2 len1 스크립트헤더 DWORD 4 스크립트소스길이 (len2) WCHAR array[len2] 2 len2 스크립트소스 DWORD 4 스크립트 Pre 소스길이 (len3) WCHAR array[len3] 2 len3 스크립트 Pre 소스 DWORD 4 스크립트 Post 소스길이 (len4) WCHAR array[len4] 2 len4 스크립트 Post 소스 DWORD 4 스크립트 end flag (-1) 전체길이 20 + (2 len1) + (2 len2) + (2 len3) + (2 len4) 표 9 스크립트 XML 템플릿 13

19 XMLTemplate 스토리지에는 XML Template 정보를저장한다. _SchemaName 스트림에는 Schema 이름문자열이저장된다. 자료형 길이 ( 바이트 ) 설명 DWORD 4 Schema 이름길이 (len1) WCHAR array[len1] 2 len1 Schema 이름 전체길이 4 + (2 len1) 표 10 Schema 이름정보 Schema 스트림에는 Schema 문자열이저장된다. 자료형 길이 ( 바이트 ) 설명 DWORD 4 Schema 길이 (len1) WCHAR array[len1] 2 len1 Schema 전체길이 4 + (2 len1) 표 11 Schema 길이정보 Instance 스트림에는 Instance 문자열이저장된다. 자료형 길이 ( 바이트 ) 설명 DWORD 4 Instance 길이 (len1) WCHAR array[len1] 2 len1 Instance 전체길이 4 + (2 len1) 표 12 Instance 정보 문서이력관리 글메뉴의 파일-문서이력관리 에서표시및생성되는문서의이력정보를저장하는장소이다. 문서이력정보의각각의아이템은 히스토리 혹은 히스토리아이템 이라하며 글 Compound 구조내에서각아이템은 DocHistory 라는스토리지내부에 VersionLog%d(%d 는버전 ) 이름의스트림으로저장된다. 또한, 각각아이템은압축, 암호화되어저장된다. 이력정보데이터를 DocHistory 라는새로운스토리지로저장한다. DocHistory 스토리지에이력정보아이템은추후추가정보가저장되었을때하위호환성을위하여다음의구조로저장한다. 14

20 DocHistory : 스토리지 VersionLog0 : 이력정보스트림 VersionLog1 : 이력정보스트림 VersionLog2 : 이력정보스트림... HistoryLastDoc : 최종문서스트림 [ 버전정보스토리지구조 ] 히스토리아이템아이템시작레코드히스토리정보레코드 1 히스토리정보레코드 2 히스토리정보레코드 3.. ( 사용자, 시간, 날짜등...) 이력정보데이터레코드아이템끝레코드 [ 히스토리아이템스트림구조 ] 히스토리아이템아이템시작레코드히스토리정보레코드 1 히스토리정보레코드 2 히스토리정보레코드 3.. ( 사용자, 시간, 날짜등...) 이력정보데이터레코드아이템끝레코드 [ 히스토리아이템스트림구조 ] RECORD_HEADER 자료형 BYTE UINT 자료형 DATA 설명레코드 Type 추가데이터블록 (RD) BYTE 크기 RECORD_DATA (RD) 설명레코드 Type에따른다양한정보 ( 스트링, Bit flag등 ) 참고문헌 [ 레코드구성 ] Bibliography 스토리지에는참고문헌정보가.XML 파일형태로저장한다. 15

21 4. 데이터레코드 4.1. 데이터레코드구조 논리적으로연관된데이터들을헤더정보와함께저장하는방식을데이터레코드라고한다. 레코드구조를가지는스트림은연속된여러개의레코드로구성된다. 데이터레코드는헤더와데이터로구성되며각헤더정보를활용하여전체논리적구조를생성하게된다. 레코드의헤더에는데이터확장에대비한정보를가지고있다. 따라서이후에 글의기능이확장되어레코드에데이터가추가되는경우에도하위버전의 글이상위버전의 글문서를읽을수있도록하위호환성이보장된다. 그림 45 레코드구조 레코드헤더의크기는 32bits이고 TagID(10bits), Level(10bits), Size(12bits) 로구성된다. Tag ID : 레코드가나타내는데이터의종류를나타내는태그이다. Tag ID에는 10 비트가사용되므로 0x000-0x3FF 까지가능하다. - 0x000-0x00F = 일반레코드태그가아닌특별한용도로사용한다. - 0x010-0x1FF = 글에의해내부용으로예약된영역 (HWPTAG_BEGIN = 0x010) - 0x200-0x3FF = 외부어플리케이션이사용할수있는영역 Level : 대부분하나의오브젝트는여러개의레코드로구성되는것이일반적이기때문에하나의레코드가아닌 " 논리적으로연관된연속된레코드 " 라는개념이필요하다. 레벨은이와같이연관된레코드의논리적인묶음을표현하기위한정보이다. 스트림을구성하는모든레코드는계층구조로표현할수있는데, 레벨은바로이계층구조에서의 depth를나타낸다. Size : 데이터영역의길이를바이트단위로나타낸다. 12개의비트가모두 1일때는데이터영역의길이가 4095 바이트이상인경우로, 이때는레코드헤더에연이어길이를나타내는 DWORD 가추가된다. 즉, 4095 바이트이상의데이터일때레코드는다음과같이표현된다. 레코드 헤더 (DWORD) 길이 (DWORD) 데이터 그림 46 확장데이터레코드구조 16

22 4.2. 문서정보 의데이터레코드 문서정보 ( DocInfo ) 에서사용되는데이터레코드는다음과같다. Tag ID Value 의미 HWPTAG_DOCUMENT_PROPERTIES HWPTAG_BEGIN 문서속성 HWPTAG_ID_MAPPINGS HWPTAG_BEGIN+1 아이디매핑헤더 HWPTAG_BIN_DATA HWPTAG_BEGIN+2 BinData HWPTAG_FACE_NAME HWPTAG_BEGIN+3 Typeface Name HWPTAG_BORDER_FILL HWPTAG_BEGIN+4 테두리 / 배경 HWPTAG_CHAR_SHAPE HWPTAG_BEGIN+5 글자모양 HWPTAG_TAB_DEF HWPTAG_BEGIN+6 탭정의 HWPTAG_NUMBERING HWPTAG_BEGIN+7 번호정의 HWPTAG_BULLET HWPTAG_BEGIN+8 불릿정의 HWPTAG_PARA_SHAPE HWPTAG_BEGIN+9 문단모양 HWPTAG_STYLE HWPTAG_BEGIN+10 스타일 HWPTAG_DOC_DATA HWPTAG_BEGIN+11 문서의임의의데이터 HWPTAG_DISTRIBUTE_DOC_DATA HWPTAG_BEGIN+12 배포용문서데이터 RESERVED HWPTAG_BEGIN+13 예약 HWPTAG_COMPATIBLE_DOCUMENT HWPTAG_BEGIN+14 호환문서 HWPTAG_LAYOUT_COMPATIBILITY HWPTAG_BEGIN+15 레이아웃호환성 HWPTAG_TRACKCHANGE HWPTAG_BEGIN+16 변경추적정보 HWPTAG_MEMO_SHAPE HWPTAG_BEGIN+76 메모모양 HWPTAG_FORBIDDEN_CHAR HWPTAG_BEGIN+78 금칙처리문자 HWPTAG_TRACK_CHANGE HWPTAG_BEGIN+80 변경추적내용및모양 HWPTAG_TRACK_CHANGE_AUTHOR HWPTAG_BEGIN+81 변경추적작성자 표 13 문서정보의데이터레코드 문서속성 Tag ID : HWPTAG_DOCUMENT_PROPERTIES 자료형 길이 ( 바이트 ) 설명 UINT16 2 구역개수문서내각종시작번호에대한정보 UINT16 2 페이지시작번호 UINT16 2 각주시작번호 UINT16 2 미주시작번호 UINT16 2 그림시작번호 UINT16 2 표시작번호 UINT16 2 수식시작번호문서내캐럿의위치정보 UINT32 4 리스트아이디 UINT32 4 문단아이디 UINT32 4 문단내에서의글자단위위치 전체길이 26 표 14 문서속성 아이디매핑헤더 Tag ID : HWPTAG_ID_MAPPINGS 17

23 자료형 길이 ( 바이트 ) 설명 INT32 array[18] 72 아이디매핑개수 ( 표 16 참조 ) 전체길이 72 doc version 에따라가변적 표 15 아이디매핑헤더 값 0 바이너리데이터 1 한글글꼴 2 영어글꼴 3 한자글꼴 4 일어글꼴 5 기타글꼴 6 기호글꼴 7 사용자글꼴 8 테두리 / 배경 9 글자모양 10 탭정의 11 문단번호 12 글머리표 13 문단모양 14 스타일 15 메모모양 ( 이상 ) 16 변경추적 ( 이상 ) 17 변경추적사용자 ( 이상 ) 설명 표 16 아이디매핑개수인덱스 바이너리데이터 Tag ID : HWPTAG_BIN_DATA 자료형 길이 ( 바이트 ) 설명 그림, OLE 등의바이너리데이터아이템에대한정보 UINT16 2 속성 ( 표 18 참조 ) WORD 2 Type이 "LINK" 일때, 연결파일의절대경로길이 (len1) WCHAR array[len1] 2 len1 Type이 "LINK" 일때, 연결파일의절대경로 WORD 2 Type이 "LINK" 일때, 연결파일의상대경로길이 (len2) WCHAR array[len2] 2 len2 Type이 "LINK" 일때, 연결파일의상대경로 UINT16 2 Type이 "EMBEDDING" 이거나 "STORAGE" 일때, BINDATASTORAGE 에저장된바이너리데이터의아이디 WORD 2 Type이 "EMBEDDING" 일때, 바이너리데이터의형식이름의길이 (len3) Type이 "EMBEDDING" 일때 extension("." 제외 ) jpg WCHAR array[len3] 2 len3 그림의경우 bmp gif OLE의경우 ole 전체길이 가변 10 + (2 len1) + (2 len2) + (2 len3) 바이트 표 17 바이너리데이터 18

24 범위 구분 값 설명 0x0000 LINK. 그림외부파일참조 bit 0~3 Type 0x0001 EMBEDDING. 그림파일포함 0x0002 STORAGE. OLE 포함 0x0000 스토리지의디폴트모드따라감 bit 4~5 압축 0x0010 무조건압축 0x0020 무조건압축하지않음 0x0000 아직 access 된적이없는상태 bit 8~9 상태 0x0100 access에성공하여파일을찾은상태 0x0200 access가실패한에러상태 0x0300 링크 access가실패했으나무시된상태 표 18 바이너리데이터속성 19

25 글꼴 Tag ID : HWPTAG_FACE_NAME 자료형 길이 ( 바이트 ) 설명 BYTE 1 속성 ( 표 15 참조 ) WORD 2 글꼴이름길이 (len1) WCHAR array[len1] 2 len1 글꼴이름 BYTE 1 대체글꼴유형 ( 표 16 참조 ) WORD 2 대체글꼴이름길이 (len2) WCHAR array[len2] 2 len2 대체글꼴이름 BYTE array[10] 10 글꼴유형정보 ( 표 17 참조 ) WORD 2 기본글꼴이름길이 (len3) WCHAR array[len3] 2 len3 기본글꼴이름 전체길이 가변 18 + (2 len1) + (2 len2) + (2 len3) 바이트 표 19 글꼴 값 0x80 0x40 0x20 대체글꼴존재여부글꼴유형정보존재여부기본글꼴존재여부 설명 표 20 글꼴속성 값 0 원래종류를알수없을때 1 트루타입글꼴 (TTF) 2 글전용글꼴 (HFT) 설명 표 21 대체글꼴유형 BYTE 1 글꼴계열 BYTE 1 세리프유형 BYTE 1 굵기 BYTE 1 비례 BYTE 1 대조 BYTE 1 스트로크편차 BYTE 1 자획유형 BYTE 1 글자형 BYTE 1 중간선 BYTE 1 X-높이 표 22 글꼴유형정보 20

26 테두리 / 배경 Tag ID : HWPTAG_BORDER_FILL UINT16 2 속성 ( 표 24 참조 ) UINT8 array[4] 4 4방향테두리선종류 ( 표 25 참조 ) UINT8 array[4] 4 4방향테두리선굵기 ( 표 26 참조 ) COLORREF array[4] 16 4방향테두리선색상. UINT8 1 대각선종류 ( 표 27 참조 ) UINT8 1 대각선굵기 COLORREF 4 대각선색깔 BYTE stream n 채우기정보 ( 표 28 참조 ) 전체길이가변 32+n 바이트 표 23 테두리 / 배경속성 범위 bit 0 3D 효과의유무 bit 1 그림자효과의유무 Slash 대각선모양 ( 시계방향으로각각의대각선유무를나타냄 ) 000 : none bit 2~4 010 : slash 011 : LeftTop --> Bottom Edge 110 : LeftTop --> Right Edge 111 : LeftTop --> Bottom & Right Edge BackSlash 대각선모양 ( 반시계방향으로각각의대각선유무를나타냄 ) 000 : none bit 5~7 010 : / back slash 011 : RightTop --> Bottom Edge 110 : RightTop --> Left Edge 111 : RightTop --> Bottom & Left Edge bit 8~9 Slash 대각선꺽은선 bit 10 BackSlash 대각선꺽선 bit 11 Slash 대각선모양 180도회전여부 bit 12 BackSlash 대각선모양 180도회전여부 bit 13 중심선유무. 설명 표 24 테두리 / 배경속성 값 0 실선 1 긴점선 2 점선 Dash 보다긴선분의반복 6 Dot 보다큰동그라미의반복 7 2 중선 8 가는선 + 굵은선 2 중선 9 굵은선 + 가는선 2 중선 10 가는선 + 굵은선 + 가는선 3 중선 11 물결 12 물결 2 중선 13 두꺼운 3D 설명 21

27 14 두꺼운 3D( 광원반대 ) 15 3D 단선 16 3D 단선 ( 광원반대 ) 표 25 테두리선종류 값설명값설명 mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm 표 26 테두리선굵기 값 0 Slash 1 BackSlash 2 CrookedSlash 설명 표 27 대각선종류 22

28 UINT 4 채우기종류 (type) 0x : 채우기없음 0x : 단색채우기 0x : 이미지채우기 0x : 그러데이션채우기 단색채우기 (type & 0x != 0) COLORREF 4 배경색 COLORREF 4 무늬색 INT32 4 무늬종류 ( 표 29 참조 ) 그러데이션채우기 (type & 0x != 0) INT16 2 그러데이션유형 ( 표 30 참조 ) INT16 2 그러데이션의기울임 ( 시작각 ) INT16 2 그러데이션의가로중심 ( 중심 X 좌표 ) INT16 2 그러데이션의세로중심 ( 중심 Y 좌표 ) INT16 2 그러데이션번짐정도 (0-100) INT16 2 그러데이션의색수 (num). ( 워디안 / 글2002/SE 에서는항상 2이다.) INT32 4 num 색상이바뀌는곳의위치. (num > 2 일경우에만 ) COLORREF array[num] 4 num 색상 이미지채우기 (type & 0x != 0) BYTE 1 이미지채우기유형 ( 표 31 참조 ) BYTE stream 5 그림정보 ( 표 32 참조 ) DWORD 4 type의 0x0004 비트가켜져있으면 size(= 추가적인그라데이션바이트 ) = 1, 아니면 size = 0 BYTE 1 그러데이션번짐정도의중심 (0..100) DWORD 4 추가채우기속성길이 (size) BYTE size 추가채우기속성 - 그러데이션일경우 (type & 0x != 0) 번짐정도의중심 (0~100) : 1byte 전체길이가변 8 + n 바이트 표 28 채우기정보 값 \\\\\ 4 ///// xxxxx 설명 표 29 채우기무늬종류 값 1 줄무늬형 2 원형 3 원뿔형 4 사각형 설명 표 30 그러데이션유형 23

29 값 0 바둑판식으로 - 모두 1 바둑판식으로 - 가로 / 위 2 바둑판식으로 - 가로 / 아래 3 바둑판식으로 - 세로 / 왼쪽 4 바둑판식으로 - 세로 / 오른쪽 5 크기에맞추어 6 가운데로 7 가운데위로 8 가운데아래로 9 왼쪽가운데로 10 왼쪽위로 11 왼쪽아래로 12 오른쪽가운데로 13 오른쪽위로 14 오른쪽아래로 15 NONE 설명 표 31 이미지채우기유형 INT8 1 밝기 INT8 1 명암그림효과값 0 REAL_PIC BYTE 1 1 GRAY_SCALE 2 BLACK_WHITE 4 PATTERN8x8 UINT16 2 BinItem의아이디참조값 전체길이 5 표 32 그림정보 설명 글자모양 Tag ID : HWPTAG_CHAR_SHAPE WORD array[7] 14 언어별글꼴 ID(FaceID) 참조값 ( 표 34 참조 ) UINT8 array[7] 7 언어별장평, 50%~200%( 표 34 참조 ) INT8 array[7] 7 언어별자간, -50%~50%( 표 34 참조 ) UINT8 array[7] 7 언어별상대크기, 10%~250%( 표 34 참조 ) INT8 array[7] 7 언어별글자위치, -100%~100%( 표 34 참조 ) INT32 4 기준크기, 0pt~4096pt UINT32 4 속성 ( 표 30 참조 ) INT8 1 그림자간격, -100%~100% INT8 1 그림자간격, -100%~100% COLORREF 4 글자색 COLORREF 4 밑줄색 COLORREF 4 음영색 COLORREF 4 그림자색 UINT16 2 글자테두리 / 배경 ID(CharShapeBorderFill ID) 참조값 ( 이상 ) COLORREF 4 취소선색 ( 이상 ) 전체길이 72 표 33 글자모양 24

30 값 0 한글 1 영어 2 한자 3 일어 4 기타 5 기호 6 사용자 설명 표 34 글꼴에대한언어 bit 0 bit 1 범위구분값설명 기울임여부진하게여부 0 없음 bit 2~3 밑줄종류 1 글자아래 3 글자위 bit 4~7 밑줄모양 ( 표 25 참조 ) 0 없음 1 실선 2 점선 bit 8~10 외곽선종류 3 굵은실선 ( 두꺼운선 ) 4 파선 ( 긴점선 ) 5 일점쇄선 ( ) 6 이점쇄선 ( ) 0 없음 bit 11~12 그림자종류 1 비연속 2 연속 bit 13 양각여부 bit 14 음각여부 bit 15 위첨자여부 bit 16 아래첨자여부 bit 17 Reserved. bit 18~20 취소선여부 0 없음 1 검정 동그라미 강조점 bit 21~24 강조점종류 2 속빈동그라미강조점 3 ˇ : bit 25 글꼴에어울리는빈칸사용여부 bit 26~29 취소선모양 ( 표 25 참조 ) bit 30 Kerning 여부 표 35 글자모양속성 25

31 탭정의 Tag ID : HWPTAG_TAB_DEF UINT32 4 속성 INT16 4 count 탭정보 (count 개수 ) HPWUNIT 4 탭의위치탭의종류값 0 왼쪽 UINT8 1 1 오른쪽 2 가운데 3 소수점 UINT8 1 채움종류 ( 표 25 참조 ) UINT 바이트를맞추기위한예약 전체길이 8+(8 count) 표 36 탭정의 설명 bit 0 bit 1 범위 설명문단왼쪽끝자동탭 ( 내어쓰기용자동탭 ) 유무문단오른쪽끝자동탭유무표 37 탭정의속성 문단번호 Tag ID : HWPTAG_NUMBERING BYTE stream 8 문단머리정보 ( 표 39 참조 ) WORD 2 번호형식길이 (len) WCHAR array[len] 2 len UINT16 2 시작번호 번호형식. 불릿문단의경우에는사용되지않는다. 문자열내특정문자에제어코드 (^) 를붙임으로써 글에서표시되는번호문단머리의형식을제어한다. ^n : 레벨경로를표시한다.( 예 : ) ^N : 레벨경로를표시하며마지막에마침표를하나더찍는다.( 예 : ) 표 36 참조 ) UINT 4 수준별시작번호 ( 이상 ) WORD 2 확장번호형식길이 (len) WCHAR array[len] 2 len 확장번호형식. 불릿문단의경우에는사용되지않는다. 문자열내특정문자에제어코드 (^) 를붙임으로써 글에서표시되는번호문단머리의형식을제어한다. ^n : 레벨경로를표시한다.( 예 : 7 회반복 수준 (1~7) 각레벨에해당하는숫자또는문자또는기호를표시 7 회반복수준 (1~7) 3 회반복 수준 (8~10) 각레벨에해당하는숫자또는문자또는기호를표시 26

32 ) ^N : 레벨경로를표시하며마지막에마침표를하나더찍는다.( 예 : ) 표 36 참조 ) UINT 4 확장수준별시작번호 ( 이상 ) 수준 (8~10) 전체길이 가변 10 + (2 len)) (4 7) (2 len)) 3 + (4 3) 바이트 표 38 문단번호 UINT 4 속성 ( 표 40 참조 ) HWPUNIT16 2 너비보정값 HWPUNIT16 2 본문과의거리 UINT 4 글자모양아이디참조 전체길이 8 표 39 문단머리정보 bit 0~1 bit 2 bit 3 bit 4 범위구분값설명 문단의정렬종류 번호너비를실제인스턴스문자열의너비에따를지여부 자동내어쓰기여부 수준별본문과의거리종류 표 40 문단머리정보속성 0 왼쪽 1 가운데 2 오른쪽 0 false 1 true 0 false 1 true 0 글자크기에대한상대비율 1 값 값 0 1, 2, 3 1 동그라미쳐진 1, 2, 3 2 I, II, III 3 i, ii, iii 4 A, B, C 5 a, b, c 6 동그라미쳐진 A, B, C 7 동그라미쳐진 a, b, c 8 가, 나, 다 9 동그라미쳐진가, 나, 다 10 ㄱ, ㄴ, ㄷ 11 동그라미쳐진ㄱ, ㄴ, ㄷ 12 일, 이, 삼 13 一, 二, 三 14 동그라미쳐진一, 二, 三 설명 표 41 문단번호형식 글머리표 Tag ID : HWPTAG_BULLET 27

33 BYTE stream 8 문단머리의정보 WCHAR 2 글머리표문자 INT32 4 이미지글머리표여부 ( 글머리표 :0, 이미지글머리표 : ID) BYTE stream 4 이미지글머리 ( 대비, 밝기, 효과, ID) WCHAR 2 체크글머리표문자 전체길이 20 표 42 글머리표 문단모양 Tag ID : HWPTAG_PARA_SHAPE UINT32 4 속성 1( 표 44 참조 ) INT32 4 왼쪽여백 INT32 4 오른쪽여백 INT32 4 들여쓰기 / 내어쓰기 INT32 4 문단간격위 INT32 4 문단간격아래 INT32 4 줄간격. 글 2007 이하버전 ( 버전미만 ) 에서사용. UINT16 2 탭정의아이디 (TabDef ID) 참조값 UINT16 2 번호문단 ID(Numbering ID) 또는글머리표문단모양 ID(Bullet ID) 참조값 UINT16 2 테두리 / 배경모양 ID(BorderFill ID) 참조값 INT16 2 문단테두리왼쪽간격 INT16 2 문단테두리오른쪽간격 INT16 2 문단테두리위쪽간격 INT16 2 문단테두리아래쪽간격 UINT32 4 속성 2( 표 40 참조 ) ( 버전이상 ) UINT32 4 속성 3( 표 41 참조 ) ( 버전이상 ) UINT32 4 줄간격 ( 버전이상 ) 전체길이 54 표 43 문단모양 bit 0~1 bit 2~4 bit 5~6 bit 7 bit 8 범위구분값설명 줄간격종류. 글 2007 이하버전에서사용. 정렬방식 줄나눔기준영어단위 줄나눔기준한글단위 편집용지의줄격자사용여부 0 글자에따라 (%) 1 고정값 2 여백만지정 0 양쪽정렬 1 왼쪽정렬 2 오른쪽정렬 3 가운데정렬 4 배분정렬 5 나눔정렬 0 단어 1 하이픈 2 글자 0 어절 1 글자 28

34 bit 9~15 공백최소값 0%~75% bit 16 외톨이줄보호여부 bit 17 다음문단과함께여부 bit 18 문단보호여부 bit 19 문단앞에서항상쪽나눔여부 0 글꼴기준 1 위쪽 bit 20~21 세로정렬 2 가운데 3 아래 bit 22 글꼴에어울리는줄높이여부 0 없음 1 개요 bit 23~24 문단머리모양종류 2 번호 3 글머리표 (bullet) bit 25~27 문단수준 1수준~7수준 bit 28 문단테두리연결여부 bit 29 문단여백무시여부 bit 30 문단꼬리모양 표 44 문단모양속성 1 범위 구분 값 설명 bit 0~1 한줄로입력여부 bit 2~3 Reserved bit 4 한글과영어간격을자동조절여부 bit 5 한글과숫자간격을자동조절여부표 45 문단모양속성2 bit 0~4 범위구분값설명 줄간격종류 표 46 줄간격종류 0 글자에따라 1 고정값 2 여백만지정 3 최소 스타일 ( 문단스타일 ) Tag ID : HWPTAG_STYLE WORD 2 길이 (len1) WCHAR array[len1] 2 len1 로컬스타일이름. 한글윈도우에서는한글스타일이름 WORD 2 길이 (len2) WCHAR array[len2] 2 len2 영문스타일이름 BYTE 1 속성 ( 표 43 참조 ) BYTE 1 다음스타일아이디참조값 INT16 2 언어아이디 ( 표 48 참조 ) UINT16 2 문단모양아이디참조값 ( 문단모양의아이디속성 ) 스타일의종류가문단인경우반드시지정해야한다. UINT16 2 글자모양아이디 ( 글자모양의아이디속성 ) 스타일의종류가글자인경우반드시지정해야한다. 29

35 전체길이가변 12 + (2 len1) + (2 len2) 바이트 표 47 스타일 bit 0~2 범위구분값설명 스타일종류 표 48 스타일종류 0 문단스타일 1 글자스타일 문서임의의데이터 라벨문서인지여부나인쇄대화상자의정보를저장한다. Tag ID : HWPTAG_DOC_DATA 자료형 길이 ( 바이트 ) 설명 Parameter Set 가변 파라미터셋 ( 표 50 참조 ) 전체길이 가변 표 49 문서임의의데이터 30

36 파라미터아이템의개수만큼아이템데이터를얻는다. WORD 2 파라미터셋 ID INT16 2 파라미터셋에존재하는아이템개수 (n) Parameter Item 가변 n 파라미터아이템 ( 표 51 참조 ) 전체길이가변 4 + ( 가변 n) 바이트 표 50 파라미터셋 자료형 길이 ( 바이트 ) 설명 WORD 2 파라미터아이템 ID WORD 2 파라미터아이템종류 ( 표 52 참조 ) Parameter Item Type 가변 파라미터아이템데이터 전체길이 가변 4 + 가변바이트 표 51 파라미터아이템 값구분자료형설명 0 PIT_NULL UINT NULL 1 PIT_BSTR WORD 문자열길이 (slen) WCHAR array[len] 문자열 2 PIT_I1 UINT INT8 3 PIT_I2 UINT INT16 4 PIT_I4 UINT INT32 5 PIT_I UINT INT 6 PIT_UI1 UINT UINT8 7 PIT_UI2 UINT UINT16 8 PIT_UI4 UINT UINT32 9 PIT_UI UINT UINT 0x8000 PIT_SET Parameter Set 파라미터셋 0x8001 PIT_ARRAY INT16 파라미터셋개수 ParameterArray 파라미터셋배열 0x8002 PIT_BINDATA UINT16 바이너리데이터 ID 표 52 파라미터아이템종류 배포용문서데이터배포용문서에서는모든스트림에배포용문서데이터가들어간다. Tag ID : HWPTAG_DISTRIBUTE_DOC_DATA 자료형 길이 ( 바이트 ) 설명 BYTE array[256] 256 배포용문서데이터 전체길이 표 53 배포용문서데이터 31

37 호환문서 Tag ID : HWPTAG_COMPATIBLE_DOCUMENT 자료형 길이 ( 바이트 ) 설명 UINT32 4 대상프로그램 ( 표 55 참조 ) 전체길이 4 표 54 호환문서 값 0 글문서 ( 현재버전 ) 1 글 2007 호환문서 2 MS 워드호환문서 설명 표 55 대상프로그램 레이아웃호환성 Tag ID : HWPTAG_LAYOUT_COMPATIBILITY UINT32 4 글자단위서식 UINT32 4 문단단위서식 UINT32 4 구역단위서식 UINT32 4 개체단위서식 UINT32 4 필드단위서식 전체길이 20 표 56 레이아웃호환성 32

38 4.3. 본문 의데이터레코드 본문에서사용되는데이터레코드는다음과같다. Tag ID Value 설명 HWPTAG_PARA_HEADER HWPTAG_BEGIN+50 문단헤더 HWPTAG_PARA_TEXT HWPTAG_BEGIN+51 문단의텍스트 HWPTAG_PARA_CHAR_SHAPE HWPTAG_BEGIN+52 문단의글자모양 HWPTAG_PARA_LINE_SEG HWPTAG_BEGIN+53 문단의레이아웃 HWPTAG_PARA_RANGE_TAG HWPTAG_BEGIN+54 문단의영역태그 HWPTAG_CTRL_HEADER HWPTAG_BEGIN+55 컨트롤헤더 HWPTAG_LIST_HEADER HWPTAG_BEGIN+56 문단리스트헤더 HWPTAG_PAGE_DEF HWPTAG_BEGIN+57 용지설정 HWPTAG_FOOTNOTE_SHAPE HWPTAG_BEGIN+58 각주 / 미주모양 HWPTAG_PAGE_BORDER_FILL HWPTAG_BEGIN+59 쪽테두리 / 배경 HWPTAG_SHAPE_COMPONENT HWPTAG_BEGIN+60 개체 HWPTAG_TABLE HWPTAG_BEGIN+61 표개체 HWPTAG_SHAPE_COMPONENT_LINE HWPTAG_BEGIN+62 직선개체 HWPTAG_SHAPE_COMPONENT_RECTANGLE HWPTAG_BEGIN+63 사각형개체 HWPTAG_SHAPE_COMPONENT_ELLIPSE HWPTAG_BEGIN+64 타원개체 HWPTAG_SHAPE_COMPONENT_ARC HWPTAG_BEGIN+65 호개체 HWPTAG_SHAPE_COMPONENT_POLYGON HWPTAG_BEGIN+66 다각형개체 HWPTAG_SHAPE_COMPONENT_CURVE HWPTAG_BEGIN+67 곡선개체 HWPTAG_SHAPE_COMPONENT_OLE HWPTAG_BEGIN+68 OLE 개체 HWPTAG_SHAPE_COMPONENT_PICTURE HWPTAG_BEGIN+69 그림개체 HWPTAG_SHAPE_COMPONENT_CONTAINER HWPTAG_BEGIN+70 컨테이너개체 HWPTAG_CTRL_DATA HWPTAG_BEGIN+71 컨트롤임의의데이터 HWPTAG_EQEDIT HWPTAG_BEGIN+72 수식개체 RESERVED HWPTAG_BEGIN+73 예약 HWPTAG_SHAPE_COMPONENT_TEXTART HWPTAG_BEGIN+74 글맵시 HWPTAG_FORM_OBJECT HWPTAG_BEGIN+75 양식개체 HWPTAG_MEMO_SHAPE HWPTAG_BEGIN+76 메모모양 HWPTAG_MEMO_LIST HWPTAG_BEGIN+77 메모리스트헤더 HWPTAG_CHART_DATA HWPTAG_BEGIN+79 차트데이터 HWPTAG_VIDEO_DATA HWPTAG_BEGIN+82 비디오데이터 HWPTAG_SHAPE_COMPONENT_UNKNOWN HWPTAG_BEGIN+99 Unknown 표 57 본문의데이터레코드 문단헤더 Tag ID : HWPTAG_PARA_HEADER text(=chars) UINT32 4 if (nchars & 0x ) { nchars &= 0x7fffffff; } control mask UINT32 4 (UINT32)(1<<ctrlch) 조합 ctrlch는 HwpCtrlAPI.Hwp 2.1 CtrlCh 참고 UINT16 2 문단모양아이디참조값 UINT8 1 문단스타일아이디참조값 UINT8 1 단나누기종류 ( 표 59 참조 ) UINT16 2 글자모양정보수 33

39 UINT16 2 range tag 정보수 UINT16 2 각줄에대한 align에대한정보수 UINT32 4 문단 Instance ID (unique ID) UINT16 2 변경추적병합문단여부. ( 버전이상 ) 전체길이 24 표 58 문단헤더 값 0x01 0x02 0x04 0x08 구역나누기다단나누기쪽나누기단나누기 설명 표 59 단나누기종류 텍스트의수가 1 이상이면문자수만큼텍스트를로드하고그렇지않을경우 PARA_BREAK 로문단을 생성한다 문단의텍스트 Tag ID : HWPTAG_PARA_TEXT 자료형 길이 ( 바이트 ) 설명 WCHAR array[sizeof(nchars)] 2 nchars 문자수만큼의텍스트 전체길이 가변 (2 nchars) 바이트 표 60 문단텍스트 문단은최소하나의문자 Shape buffer 가존재하며, 첫번째 pos가반드시 0이어야한다. 예를들어문자길이 40자짜리문단이 10자씩 4가지다른글자모양으로구성되어있다면 buffer 는다음과같다. 모양 1 모양 2 모양 3 모양 4 m_pos=0, m_id=1 m_pos=10, m_id=2 m_pos=20, m_id=3 m_pos=30, m_id=4 그림 47 문단버퍼구조 텍스트문자 Shape 레코드를글자모양정보수 (Character Shapes) 만큼읽는다 문단의글자모양 Tag ID : HWPTAG_PARA_CHAR_SHAPE UINT32 4 글자모양이바뀌는시작위치 UINT32 4 글자모양 ID 전체길이가변 8 n 표 61 문단의글자모양 34

40 문단의레이아웃 문단의각줄을출력할때사용한 Cache 정보이며, 문단정보의 각줄에대한 align 에대한정보 수 만큼반복한다. Tag ID : HWPTAG_PARA_LINE_SEG 자료형 길이 ( 바이트 ) 설명 UINT32 4 텍스트시작위치 INT32 4 줄의세로위치 INT32 4 줄의높이 INT32 4 텍스트부분의높이 INT32 4 줄의세로위치에서베이스라인까지거리 INT32 4 줄간격 INT32 4 컬럼에서의시작위치 INT32 4 세그먼트의폭 태그 -bit 0 : 페이지의첫줄인지여부 UINT32 4 전체길이 36 -bit 1 : 컬럼의첫줄인지여부 -bit 16 : 텍스트가배열되지않은빈세그먼 트인지여부 -bit 17 : 줄의첫세그먼트인지여부 -bit 18 : 줄의마지막세그먼트인지여부 -bit 19 : 줄의마지막에 auto-hyphenation 이 수행되었는지여부. -bit 20 : indentation 적용 -bit 21 : 문단머리모양적용 -bit 31 : 구현상의편의를위한 property 표 62 문단의레이아웃 문단의영역태그 range tag 정보를정보수만큼읽어온다. range tag 는텍스트의일정영역을마킹하는용도로사용되 며, 글자모양과는달리각영역은서로겹칠수있다.( 형광펜, 교정부호등 ) Tag ID : HWPTAG_PARA_RANGE_TAG UINT32 4 영역시작 UINT32 4 영역끝 UINT32 4 태그 ( 종류 + 데이터 ) : 상위 8비트가종류를하위 24비트가종류별로다른설명을부여할수있는임의의데이터를나타낸다. 전체길이가변 12 n 표 63 문단의영역태그 컨트롤헤더 컨트롤문자가존재하면컨트롤문자로부터존재하는컨트롤정보를생성한다. 35

41 Tag ID : HWPTAG_CTRL_HEADER UINT32 4 전체길이 4 컨트롤 ID 컨트롤 ID 이하속성들은 CtrlID 에따라다르다. - 각컨트롤및개체참고 표 64 컨트롤헤더 문단리스트헤더 Tag ID : HWPTAG_LIST_HEADER INT16 2 문단수속성범위구분값설명 0 가로 bit 0~2 텍스트방향 1 세로 UINT 내용에따라폭이늘어남 0 top bit 5~6 세로정렬 1 center 2 bottom 전체길이 6 0 일반적인줄바꿈 bit 3~4 문단의줄바꿈 1 자간을조종하여한줄을유지 표 65 문단리스트헤더 컨트롤임의의데이터 컨트롤의필드이름이나하이퍼링크정보를저장한다. Tag ID : HWPTAG_CTRL_DATA 자료형 길이 ( 바이트 ) 설명 Parameter Set 가변 파라미터셋 ( 표 50 참조 ) 전체길이 가변 표 66 컨트롤임의의데이터 개체공통속성을포함하는컨트롤 ( 개체컨트롤 ) extended type의컨트롤은종류를나타내는식별기호로 32 비트 ID가사용된다. 컨트롤코드가큰범주를나타내는식별기호라고한다면, 컨트롤 ID는세부분류를나타내는식별기호인셈이다. 예를들어단정의컨트롤 ID는 MAKE_4CHID('c', 'o', 'l', 'd') 같은형식으로정의한다. MAKE_4CHID(a, b, c, d) (((a) << 24) ((b) << 16) ((c) << 8) (d)) 36

42 컨트롤 ID 개체공통속성 개체요소속성 1 표 MAKE_4CHID('t', 'b', 'l', ' ') 2 ( 그리기개체 ) 선사각형타원 MAKE_4CHID('$', 'l', 'i', 'n') MAKE_4CHID('$', 'r', 'e', 'c') MAKE_4CHID('$', 'e', 'l', 'l') 호다각형곡선 MAKE_4CHID('$', 'a', 'r', 'c') MAKE_4CHID('$', 'p', 'o', 'l') MAKE_4CHID('$', 'c', 'u', 'r') 3 글 97 수식 MAKE_4CHID('e', 'q', 'e', 'd') 4 그림 MAKE_4CHID('$', 'p', 'i', 'c') 5 OLE MAKE_4CHID('$', 'o', 'l', 'e') 6 묶음개체 MAKE_4CHID('$', 'c', 'o', 'n') 표 67 개체공통속성을포함하는컨트롤과컨트롤 ID 자료형 길이 ( 바이트 ) 설명 BYTE stream n 개체공통속성 ( 표 69 참조 ) BYTE stream n2 캡션정보가있으면캡션리스트정보를얻는다 ( 표 71 참조 ) 전체길이 가변 n + n2 바이트 표 68 개체공통속성 자료형 길이 ( 바이트 ) 설명 UINT32 4 ctrl ID UINT32 4 속성 ( 표 70 참조 ) HWPUNIT 4 세로오프셋값 HWPUNIT 4 가로오프셋값 HWPUNIT 4 width 오브젝트의폭 HWPUNIT 4 height 오브젝트의높이 INT32 4 z-order HWPUNIT16 array[4] 2 4 오브젝트의바깥 4방향여백 UINT32 4 문서내각개체에대한고유아이디 (instance ID) INT32 4 쪽나눔방지 on(1) / off(0) WORD 2 개체설명문글자길이 (len) WCHAR array[len] 2 len 개체설명문글자 전체길이 가변 46 + (2 len) 바이트 표 69 개체공통속성 bit 0 bit 1 bit 2 범위구분값설명 bit 3~4 bit 5~7 글자처럼취급여부예약줄간격에영향을줄지여부 세로위치의기준 (VertRelTo) 세로위치의기준에대한상대적인배열방식 0 paper 1 page 2 para VerRelTo이 paper 나 page 이면 top, 0 그렇지않으면 left 1 VerRelTo이 paper 나 page 이면 center VerRelTo 이 paper 나 page 이면 bottom, 2 그렇지않으면 right 3 VerRelTo이 paper 나 page 이면 inside 4 VerRelTo이 paper 나 page 이면 outside 37

43 bit 8~9 bit 10~12 bit 13 bit 14 bit 15~17 bit 18~19 bit 20 bit 21~23 bit 24~25 bit 26~28 가로위치의기준 (HorzRelTo) HorzRelTo 에대한상대적인배열방식 VertRelTo 이 para 일때오브젝트의세로위치를본문영역으로제한할지여부다른오브젝트와겹치는것을허용할지여부 0 page 1 page 2 column 3 para 0 off 1 on bit 5~7 참조 오브젝트의위치가본문영역으로제한되면언제나 false 로간주한다. 0 paper 1 page 오브젝트폭의기준 2 coloum 3 para 4 absolute 0 paper 오브젝트높이의기준 1 page 2 absolute VertRelTo 이 para일 0 off 때크기보호여부 1 on 오브젝트주위를텍스트가어떻게흘러갈지지정하는옵션 Square 0 bound rect를따라 Tight 1 오브젝트의 outline을따라 Through 2 오브젝트내부의빈공간까지 TopAndBottom 3 좌, 우에는텍스트를배치하지않음 BehindText 4 글과겹치게하여글뒤로 InFrontOfText 5 글과겹치게하여글앞으로 오브젝트의좌 / 우어느쪽에글을배치할지지정하는옵션 이개체가속하는번호범주 0 BothSides 1 LeftOnly 2 RightOnly 3 LargestOnly 0 none 1 figure 2 table 3 equation 표 70 개체공통속성의속성 BYTE stream n 문단리스트헤더 ( 표 65 참조 ) BYTE stream 12 캡션 ( 표 67 참조 ) 전체길이 가변 12+n 바이트 표 71 캡션리스트 자료형 길이 ( 바이트 ) 설명 UNIT 4 속성 ( 표 73 참조 ) HWPUNIT 4 캡션폭 ( 세로방향일때만사용 ) HWPUNIT16 2 캡션과틀사이간격 HWPUNIT 4 텍스트의최대길이 (= 개체의폭 ) 전체길이 14 표 72 캡션 38

44 bit 0~1 범위구분값설명 방향 0 left 1 right 2 top 3 bottom bit 2 캡션폭에마진을포함할지여부가로방향일때만사용 표 73 캡션속성 표개체 Tag ID : HWPTAG_TABLE BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 표개체속성 ( 표 75 참조 ) BYTE stream n3 셀리스트 ( 표 79 참조 ) 셀 size 셀개수. 전체길이가변 n + n2 + n3 표 74 표개체 UINT32 4 속성 UINT16 2 RowCount UINT16 2 ncols HWPUNIT16 2 CellSpacing BYTE stream 8 안쪽여백정보 ( 표 77 참조 ) BYTE stream 2 n Row Size UINT16 2 Border Fill ID UINT16 2 Valid Zone Info Size ( 이상 ) BYTE stream 10 n 영역속성 ( 표 73 참조 ) ( 이상 ) 전체길이가변 22 + (2 row) + (10 zone) 표 75 표개체속성 범위구분값설명 bit 0-1 bit 2 쪽경계에서나눔 제목줄자동반복여부 0 나누지않음 1 셀단위로나눔 2 나누지않음 표 76 표속성의속성 HWPUNIT16 2 왼쪽여백 HWPUNIT16 2 오른쪽여백 HWPUNIT16 2 위쪽여백 HWPUNIT16 2 아래쪽여백 전체길이 8 표 77 안쪽여백정보 39

45 UINT16 2 시작열주소 UINT16 2 시작행주소 UINT16 2 끝열주소 UINT16 2 끝행주소 UINT16 2 테두리채우기 ID 전체길이 10 표 78 영역속성 BYTE stream n 문단리스트헤더 ( 표 65 참조 ) BYTE stream 26 셀속성 ( 표 80 참조 ) 전체길이가변 26+n 바이트 표 79 셀리스트 UINT16 2 셀주소 (Column, 맨왼쪽셀이 0부터시작하여 1씩증가 ) UINT16 2 셀주소 (Row, 맨위쪽셀이 0부터시작하여 1씩증가 ) UINT16 2 열의병합개수 UINT16 2 행의병합개수 HWPUNIT 4 셀의폭 HWPUNIT 4 셀의높이 HWPUNIT16 array[4] 2 4 셀 4방향여백 UINT16 2 테두리 / 배경아이디 전체길이 26 표 80 셀속성 그리기개체 ( 선, 사각형, 타원, 호, 다각형, 곡선 ) 모든그리기개체에대한 serialization 은우선 base 인그리기개체공통속성을 serialize 한다음 자신이가지고있는개체요소속성을 serialize 한다. BYTE stream n 개체요소속성 ( 표 82 참조 ) BYTE stream 11 테두리선정보 ( 표 86 참조 ) BYTE stream n2 채우기정보 ( 표 28 참조 ) BYTE stream 12 글상자속성이있으면글상자의리스트정보를얻는다. 전체길이가변 23 + n + n2 바이트 표 81 그리기개체공통속성 개체요소 Tag ID : HWPTAG_SHAPE_COMPONENT(GenShapeObject 일경우 id 가두번기록됨 ) 40

46 UINT32 4 개체컨트롤 ID 전체길이 4 표 82 개체요소속성 INT32 4 개체가속한그룹내에서의 X offset INT32 4 개체가속한그룹내에서의 Y offset WORD 2 몇번이나그룹되었는지 WORD 2 개체요소의 local file version UINT32 4 개체생성시초기폭 UINT32 4 개체생성시초기높이 UINT32 4 개체의현재폭 UINT32 4 개체의현재높이 UINT32 4 속성값설명 0 horz flip 1 vert flip HWPUNIT16 2 회전각 INT32 4 회전중심의 x 좌표 ( 개체좌표계 ) INT32 4 회전중심의 y 좌표 ( 개체좌표계 ) n Rendering 정보 ( 표 79 참조 ) 전체길이가변 42+n 바이트 표 83 개체요소속성 WORD 2 scale matrix와 rotration matrix쌍의개수 (cnt) 초기엔 1, group할때마다하나씩증가하고, ungroup 할때마다하나씩감소한다. BYTE stream 48 ranslation matrix( 표 85 참조 ) BYTE stream cnt 48 2 scale matrix/rotration matrix sequence( 표 85 참조 ) 전체길이가변 50 + (cnt 48 2) 바이트 표 84 Rendering 정보 각 matrix 는원소가 double 로표현되는 3 X 3 matrix 로구현된다. 마지막줄 (row) 은항상 0, 0, 1이기때문에실제 serialization 에서는마지막줄은빠진다. 저장되는정보는다음과같다. 자료형 길이 ( 바이트 ) 설명 double array[6] X 2 matrix의원소 전체길이 48 표 85 matrix 정보 COLORREF 4 선색상 INT16 2 선굵기 UINT32 4 속성 ( 표 87 참조 ) BYTE 1 Outline style( 표 88 참조 ) 전체길이 11 표 86 테두리선정보 41

47 bit 0~5 bit 6~9 범위구분값설명 bit 10~15 bit 16~21 bit 22~25 bit 26~29 bit 30 bit 31 선종류 선끝모양 화살표시작모양 화살표끝모양 화살표시작크기 화살표끝크기 시작부분화살표채움여부끝부분화살표채움여부 0 round 그림일때는 "Round", 그리기 1 flat 개체들일때는 "Flat" 이디폴트 0 모양없음 1 화살모양 2 오목한화살모양 3 속이빈다이아몬드모양 4 속이빈원모양 5 속이빈사각모양 6 속이채워진다이아몬드모양 7 속이채워진원모양 8 속이채워진사각모양 0 작은 - 작은 1 작은 - 중간 2 작은 - 큰 3 중간 - 작은 4 중간 - 중간 5 중간 - 큰 6 큰 - 작은 7 큰 - 중간 8 큰 - 중간 표 87 테두리선정보속성 값 0 normal 1 outer 2 inner 설명 표 88 Outline style BYTE stream 12 그리기개체글상자용텍스트속성 ( 표 90 참조 ) BYTE stream n 문단리스트헤더 ( 표 65 참조 ) 전체길이가변 12+n 바이트 표 89 그리기개체글상자용텍스트정보 HWPUNIT16 2 글상자텍스트왼쪽여백 HWPUNIT16 2 글상자텍스트오른쪽여백 HWPUNIT16 2 글상자텍스트위쪽여백 HWPUNIT16 2 글상자텍스트아래쪽여백 HWPUNIT 4 텍스트문자열의최대폭 ( 보통그리기개체의가로크기와동일 ) 전체길이 12 표 90 그리기개체글상자용텍스트속성 선개체 42

48 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream 18 선개체속성 ( 표 92 참조 ) 전체길이가변 18 + n + n2 바이트 표 91 선개체 Tag ID : HWPTAG_SHAPE_COMPONENT_LINE INT32 4 시작점 X 좌표 INT32 4 시작점 Y 좌표 INT32 4 끝점 X 좌표 INT32 4 끝점 Y 좌표 UINT16 2 속성. 처음생성시수직또는수평선일때, 선의방향이언제나오른쪽 ( 위쪽 ) 으로잡힘으로인한현상때문에, 방향을바로잡아주기위한플래그. 전체길이 18 표 92 선개체속성 사각형개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream 33 사각형개체속성 ( 표 94 참조 ) 전체길이가변 33 + n + n2 바이트 표 93 사각형개체 Tag ID : HWPTAG_SHAPE_COMPONENT_RECTANGLE BYTE 1 사각형모서리곡률 (%) 직각은 0, 둥근모양은 20, 반원은 50, 그외는적당한값을 % 단위로사용한다. INT32 array[4] 4 4 사각형의좌표 (x) INT32 array[4] 4 4 사각형의좌표 (y) 전체길이 33 표 94 사각형개체속성 타원개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream 60 타원개체속성 ( 표 96 참조 ) 전체길이가변 60 + n + n2 바이트 표 95 타원개체 Tag ID : HWPTAG_SHAPE_COMPONENT_ELLIPSE 43

49 UINT32 4 속성 ( 표 97 참조 ) INT32 4 중심좌표의 X 값 INT32 4 중심좌표의 Y 값 INT32 4 제1축 X 좌표값 INT32 4 제1축 Y 좌표값 INT32 4 제2축 X 좌표값 INT32 4 제2축 Y 좌표값 INT32 4 start pos x INT32 4 start pos y INT32 4 end pos x INT32 4 end pos y INT32 4 start pos x2 interval of curve(effective only when it is an arc) INT32 4 start pos y2 INT32 4 end pos x2 INT32 4 end pos y2 전체길이 60 표 96 타원개체속성 범위 bit 0 bit 1 bit 2~9 설명호 (ARC) 로바뀌었을때, interval 을다시계산해야할필요가있는지여부 (interval - 원위에존재하는두점사이의거리 ) 호 (ARC) 로바뀌었는지여부호 (ARC) 의종류 표 97 타원 / 호개체속성의속성 44

50 다각형개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream n3 다각형개체속성 ( 표 99 참조 ) 전체길이가변 n + n2 + n3 바이트 표 98 다각형개체 Tag ID : HWPTAG_SHAPE_COMPONENT_POLYGON INT16 2 count of points(cnt) INT32 array[cnt] 4 cnt x 좌표 INT32 array[cnt] 4 cnt y 좌표 전체길이가변 2 + 2(4 cnt) 바이트 표 99 다각형개체속성 호개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream 28 호개체속성 ( 표 96 참조 ) 전체길이가변 28 + n + n2 바이트 표 100 호개체 Tag ID : HWPTAG_SHAPE_COMPONENT_ARC UINT32 4 속성 ( 표 92 참조 ) INT32 4 타원의중심좌표 X 값 INT32 4 타원의중심좌표 Y 값 INT32 4 제1축 X 좌표값 INT32 4 제1축 Y 좌표값 INT32 4 제2축 X 좌표값 INT32 4 제2축 Y 좌표값 전체길이 28 표 101 호개체속성 곡선개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 그리기개체공통속성 ( 표 81 참조 ) BYTE stream n3 곡선개체속성 ( 표 103 참조 ) 전체길이가변 n + n2 + n3 바이트 표 102 곡선개체 45

51 Tag ID : HWPTAG_SHAPE_COMPONENT_CURVE INT16 2 count of points(cnt) INT32 array[cnt] 4 cnt x 좌표 INT32 array[cnt] 4 cnt y 좌표 BYTE array[cnt-1] cnt-1 segment type(0 : line, 1 : curve) 전체길이가변 2 + 2(4 cnt) + cnt-1 바이트 표 103 곡선개체속성 글수식개체 BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 수식개체속성 ( 표 105 참조 ) 전체길이가변 n + n2 바이트 표 104 수식개체 Tag ID : HWPTAG_EQEDIT UINT32 4 속성. 스크립트가차지하는범위. 첫비트가켜져있으면줄단위, 꺼져있으면글자단위. WORD 2 스크립트길이 (len) WCHAR array[len] 2 len 글수식스크립트 (*) HWPUNIT 4 수식글자크기 COLORREF 4 글자색상 INT16 2 base line WCHAR array[len] 2xlen 수식버전정보 WCHAR array[len] 2xlen 수식폰트이름 전체길이가변 16 + (6 len) 바이트 표 105 수식개체속성 * 글수식스크립트는 EQN 스크립트호환이며자세한스펙은뒤에추가 그림개체 (HWPTAG_SHAPE_COMPONENT_PICTURE) BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 개체요소공통속성 ( 표 80 참조 ) BYTE stream n3 그림개체속성 ( 표 107 참조 ) 전체길이가변 n + n2 + n3 바이트 표 106 그림개체 46

52 COLORREF 4 테두리색 INT32 4 테두리두께 UINT32 4 테두리속성 ( 표 86 참조 ) INT32 array[4] 4 4 이미지의테두리사각형의 x 좌표 ( 최초그림삽입시크기 ) INT32 array[4] 4 4 이미지의테두리사각형의 y 좌표 ( 최초그림삽입시크기 ) INT32 4 자르기한후사각형의 left INT32 4 자르기한후사각형의 top INT32 4 자르기한후사각형의 right INT32 4 자르기한후사각형의 bottom BYTE stream 8 안쪽여백정보 ( 표 72 참조 ) 표 ( 기본값 : 141), 그림 ( 기본값 : 0) BYTE stream 5 그림정보 ( 표 27 참조 ) BYTE 1 테두리투명도 UINT32 4 문서내각개체에대한고유아이디 (instance ID) BYTE stream n 그림효과정보 전체길이가변 78 + n 바이트 표 107 그림개체속성 UINT32 4 그림효과정보 ( 그림자, 네온, 부드러운가장자리, 반사 ) BYTE stream n 각효과정보 ( 표 109 ~ 표 113 참조 ) 전체길이가변 4 + n 바이트 표 108 그림효과속성 INT32 4 그림자스타일 float 4 그림자투명도 float 4 그림자흐릿하게 float 4 방향 float 4 거리 INT32 4 정렬 float 4 기울기각도 (X) float 4 기울기각도 (Y) float 4 확대비율 (X) float 4 확대비율 (Y) INT32 4 도형과함께그림자회전 BYTE stream n 그림자색상 ( 표 113 참조 ) 전체길이가변 44 + n 바이트 표 109 그림자효과속성 float 4 네온투명도 float 4 네온반경 BYTE stream n 네온색상 (( 113 참조 ) 전체길이가변 8 + n 바이트 표 110 네온효과속성 47

53 자료형 길이 ( 바이트 ) 설명 float 4 부드러운가장자리반경 전체길이 4 표 111 부드러운가장자리효과속성 INT32 4 반사스타일 float 4 반경 float 4 방향 float 4 거리 float 4 기울기각도 (X) float 4 기울기각도 (Y) float 4 확대비율 (X) float 4 확대비율 (Y) INT32 4 회전스타일 float 4 시작투명도 float 4 시작위치 float 4 끝투명도 float 4 끝위치 float 4 오프셋방향 전체길이 53 표 112 반사효과속성 INT32 4 색상타입 UINT32 4 RGB (0x00rrggbb) UINT32 4 CMYK (0xccmmyykk) INT32 4 스키마타입 INT32 4 시스템타입 INT32 4 프리셋타입 float 4 ScR float 4 ScG float 4 ScB float 4 H float 4 S float 4 L UINT32 4 색상효과수 BYTE array[n] 8 n 색상효과 ( 표 111 참조 ) 전체길이가변 4 + m(4 ~ 12) + n 바이트 표 113 색상속성 자료형 길이 ( 바이트 ) 의미 INT32 4 색상효과종류 ( 표 115 참조 ) float 4 색상효과값 전체길이 8 표 114 색상효과속성 값 설명 48

54 0 alpha 1 alpha_mod 2 alpha_off 3 red 4 red_mod 5 red_off 6 green 7 green_mod 8 green_off 9 blue 10 blue_mod 11 blue_off 12 hue 13 hue_mod 14 hue_off 15 sat 16 sat_mod 17 sat_off 18 lum 19 lum_mod 20 lum_off 21 shade 22 tint 23 gray 24 comp 25 gamma 26 inv_gamma 27 inv 표 115 색상효과종류 HWPUNIT 4X2 그림최초생성시기준이미지크기 INT8 1 이미지투명도 전체길이 9 표 116 그림추가속성 OLE 개체 (HWPTAG_SHAPE_COMPONENT_OLE) BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream 24 OLE 개체속성 ( 표 118 참조 ) 전체길이가변 24 + n 바이트 표 117 OLE 개체 UINT16 2 속성 ( 표 119 참조 ) INT32 4 오브젝트자체의 extent x크기 INT32 4 오브젝트자체의 extent y크기 UINT16 2 오브젝트가사용하는스토리지의 BinData ID 49

55 COLORREF 4 테두리색 INT32 4 테두리두께 UINT32 4 테두리속성 ( 표 87 참조 ) 전체길이 24 표 118 OLE 개체속성 bit 0~7 bit 8 bit 9~15 범위구분값설명 bit 16~21 개체종류 DVASPECT_CONTENT = 1, DVASPECT_THUMBNAIL = 2, DVASPECT_ICON = 4, DVASPECT_DOCPRINT = 8 TRUE if moniker is assigned 베이스라인. 0은디폴트 (85%) 를뜻하고, 1~101이 0~100% 를나타낸다. 현재는수식만이베이스라인을별도로가진다. 0 Unknown 1 Embedded 2 Link 3 Static 4 Equation 표 119 OLE 개체속성의속성 bit 0-7 에대한자세한설명은 MSDN 을참고 MFC COleClientItem::m_nDrawAspect bit 8 에대한자세한설명은 MSDN 을참고 MFC COleClientItem::m_bMoniker 차트개체 차트는본문에 Ole 개체로저장되며, 차트내용은 Ole Compound 파일로저장된다. 차트파일의최상위 storage 에 "Contents", "OOXMLChartContents" stream 이저장될수있다. 기존 hwp( 한글 Neo) 차트에서는 "Contents" stream 만존재한다. 한글 2018 한글에서는 OOXML 차트를저장할수있고, "OOXMLChartContents" 와 "Contents" stream 에차트를저장할수있다. 한글 2018에서차트에서 "Contents" stream 은 OOXML 차트를구버전 ( 한글 Neo) 의차트로변환한예비데이터이다. "Contents" stream 의내용은첨부파일 ( 한글문서파일형식 _ 차트 _revision1.2_ 원본.hwp ) 의내용을참조하면된다. "OOXMLChartContents" stream 은 MS OOXML 에서차트를저장하는방식으로, 최상위 element 는 "chartspace" element 이며, 내용은 ISO/IEC 나 ECMA 376의 DrawingML 의 Chart 부분을참조하면된다. 50

56 묶음개체 (HWPTAG_SHAPE_COMPONENT_CONTAINER) BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 묶음개체속성 ( 표 121 참조 ) BYTE stream n3 개체속성 x 묶음개체의갯수. ( 묶음가능개체 : 그리기개체, OLE, 그림, 묶음개체 ) 전체길이가변 n + n2 + n3 바이트 표 120 묶음개체 WORD 2 개체의개수 (n) UINT32 array[n] 4 n 개체의컨트롤 ID array 전체길이가변 2 + (4 n) 바이트 표 121 묶음개체속성 동영상개체 (HWPTAG_VIDEO_TDATA) BYTE stream n 개체공통속성 ( 표 68 참조 ) BYTE stream n2 동영상개체속성 전체길이가변 n + n2 바이트 표 122 동영상개체 INT32 4 동영상타입 ( 표 124 참조 ) BYTE stream n 동영상타입에따라길이가다름 ( 표 125, 표 126 참조 ) 전체길이가변 n + n2 바이트 표 123 동영상개체속성 값 0 로컬동영상 1 웹동영상 설명 표 124 동영상타입 UINT16 2 비디오파일의사용하는스토리지의 BinData ID UINT16 2 썸내일파일이사용하는스토리지의 BinData ID 전체길이 4 표 125 로컬동영상속성 51

57 WCHAR array[len] 2xlen 웹태그 UINT16 2 썸내일파일이사용하는스토리지의 BinData ID 전체길이 (2xlen)+2 표 126 웹동영상속성 개체이외의컨트롤 의미컨트롤 ID 문단리스트파일태그 1 구역정의 MAKE_4CHID('s', 'e', 'c', 'd') 2 단정의 MAKE_4CHID('c', 'o', 'l', 'd') 3 머리말 / 꼬리말 MAKE_4CHID('h', 'e', 'a', 'd') / MAKE_4CHID('f', 'o', 'o', 't') 4 각주 / 미주 MAKE_4CHID('f', 'n', ' ', ' ') / MAKE_4CHID('e', 'n', ' ', ' ') 5 자동번호 MAKE_4CHID('a', 't', 'n', 'o') 6 새번호지정 MAKE_4CHID('n', 'w', 'n', 'o') 7 감추기 MAKE_4CHID('p', 'g', 'h', 'd') 8 홀 / 짝수조정 MAKE_4CHID('p', 'g', 'c', 't') 9 쪽번호위치 MAKE_4CHID('p', 'g', 'n', 'p') 10 찾아보기표식 MAKE_4CHID('i', 'd', 'x', 'm') 11 책갈피 MAKE_4CHID('b', 'o', 'k', 'm') 12 글자겹침 MAKE_4CHID('t', 'c', 'p', 's') 13 덧말 MAKE_4CHID('t', 'd', 'u', 't') 14 숨은설명 MAKE_4CHID('t', 'c', 'm', 't') 15 필드시작 필드컨트롤 ID 표 127 개체이외의컨트롤과컨트롤 ID HWPTAG_CTRL_HEAD 로부터시작하며 ctrlid 로각개체를확인할수있다. 특정컨트롤은정보이외의문단리스트를가질수있다. FIELD_UNKNOWN FIELD_DATE FIELD_DOCDATE FIELD_PATH FIELD_BOOKMARK FIELD_MAILMERGE FIELD_CROSSREF FIELD_FORMULA FIELD_CLICKHERE FIELD_SUMMARY FIELD_USERINFO FIELD_HYPERLINK FIELD_REVISION_SIGN FIELD_REVISION_DELETE FIELD_REVISION_ATTACH FIELD_REVISION_CLIPPING FIELD_REVISION_SAWTOOTH FIELD_REVISION_THINKING FIELD_REVISION_PRAISE FIELD_REVISION_LINE FIELD_REVISION_SIMPLECHANGE FIELD_REVISION_HYPERLINK 컨트롤 ID MAKE_4CHID('%', 'u', 'n', 'k') MAKE_4CHID('%', 'd', 't', 'e') MAKE_4CHID('%', 'd', 'd', 't') MAKE_4CHID('%', 'p', 'a', 't') MAKE_4CHID('%', 'b', 'm', 'k') MAKE_4CHID('%', 'm', 'm', 'g') MAKE_4CHID('%', 'x', 'r', 'f') MAKE_4CHID('%', 'f', 'm', 'u') MAKE_4CHID('%', 'c', 'l', 'k') MAKE_4CHID('%', 's', 'm', 'r') MAKE_4CHID('%', 'u', 's', 'r') MAKE_4CHID('%', 'h', 'l', 'k') MAKE_4CHID('%', 's', 'i', 'g') MAKE_4CHID('%', '%', '*', 'd') MAKE_4CHID('%', '%', '*', 'a') MAKE_4CHID('%', '%', '*', 'C') MAKE_4CHID('%', '%', '*', 'S') MAKE_4CHID('%', '%', '*', 'T') MAKE_4CHID('%', '%', '*', 'P') MAKE_4CHID('%', '%', '*', 'L') MAKE_4CHID('%', '%', '*', 'c') MAKE_4CHID('%', '%', '*', 'h') 52

58 FIELD_REVISION_LINEATTACH FIELD_REVISION_LINELINK FIELD_REVISION_LINETRANSFER FIELD_REVISION_RIGHTMOVE FIELD_REVISION_LEFTMOVE FIELD_REVISION_TRANSFER FIELD_REVISION_SIMPLEINSERT FIELD_REVISION_SPLIT FIELD_REVISION_CHANGE FIELD_MEMO FIELD_PRIVATE_INFO_SECURITY FIELD_TABLEOFCONTENTS MAKE_4CHID('%', '%', '*', 'A') MAKE_4CHID('%', '%', '*', 'i') MAKE_4CHID('%', '%', '*', 't') MAKE_4CHID('%', '%', '*', 'r') MAKE_4CHID('%', '%', '*', 'l') MAKE_4CHID('%', '%', '*', 'n') MAKE_4CHID('%', '%', '*', 'e') MAKE_4CHID('%', 's', 'p', 'l') MAKE_4CHID('%', '%', 'm', 'r') MAKE_4CHID('%', '%', 'm', 'e') MAKE_4CHID('%', 'c', 'p', 'r') MAKE_4CHID('%', 't', 'o', 'c') 표 128 필드컨트롤 ID 구역정의 UINT32 4 속성 ( 표 130 참조 ) HWPUNIT16 2 동일한페이지에서서로다른단사이의간격 HWPUNIT16 2 세로로줄맞춤을할지여부 0 = off, 1 - n = 간격을 HWPUNIT 단위로지정 HWPUNIT16 2 가로로줄맞춤을할지여부 0 = off, 1 - n = 간격을 HWPUNIT 단위로지정 HWPUNIT 4 기본탭간격 (hwpunit 또는 relative characters) UINT16 2 번호문단모양 ID UINT16 2 쪽번호 (0 = 앞구역에이어, n = 임의의번호로시작 ) UINT16 array[3] 2 3 그림, 표, 수식번호 (0 = 앞구역에이어, n = 임의의번호로시작 ) UINT16 2 대표Language(Language 값이없으면 (==0), Application 에지정된 Language) 이상 전체길이 26 하위레코드자료형 길이 ( 바이트 ) 설명 BYTE stream 40 용지설정정보 ( 표 131 참조 ) BYTE stream 26 각주모양정보 ( 표 133 참조 ) BYTE stream 26 미주모양정보 ( 표 133 참조 ) BYTE stream 12 쪽테두리 / 배경정보 ( 표 135 참조 ) BYTE stream 10 양쪽, 홀수쪽, 짝수쪽의바탕쪽내용이있으면바탕쪽정보를얻는다. 바탕쪽정보는문단리스트를포함한다 ( 표 137 참조 ) 전체길이 140 표 129 구역정의 범위 bit 0 머리말을감출지여부 bit 1 꼬리말을감출지여부 bit 2 바탕쪽을감출지여부 bit 3 테두리를감출지여부 bit 4 배경을감출지여부 bit 5 쪽번호위치를감출지여부 bit 8 구역의첫쪽에만테두리표시여부 bit 9 구역의첫쪽에만배경표시여부 bit 16~18 텍스트방향 (0 : 가로 1 : 세로 ) 설명 53

59 bit 19 bit 20~21 bit 22 빈줄감춤여부구역나눔으로새페이지가생길때의페이지번호적용할지여부원고지정서법적용여부 표 130 구역정의속성 용지설정 Tag ID : HWPTAG_PAGE_DEF HWPUNIT 4 용지가로크기 HWPUNIT 4 용지세로크기 HWPUNIT 4 용지왼쪽여백 HWPUNIT 4 오른쪽여백 HWPUNIT 4 위여백 HWPUNIT 4 아래여백 HWPUNIT 4 머리말여백 HWPUNIT 4 꼬리말여백 HWPUNIT 4 제본여백 UINT32 4 속성 ( 표 132 참조 ) 전체길이 40 표 131 용지설정 bit 0 bit 1~2 범위구분값설명 용지방향 제책방법 0 좁게 1 넓게 0 한쪽편집 1 맞쪽편집 2 위로넘기기 표 132 용지설정속성 54

60 각주 / 미주모양 Tag ID : HWPTAG_FOOTNOTE_SHAPE UINT32 4 속성 ( 표 134 참조 ) WCHAR 2 사용자기호 WCHAR 2 앞장식문자 WCHAR 2 뒤장식문자 UINT16 2 시작번호 HWPUNIT16 2 구분선길이 HWPUNIT16 2 구분선위여백 HWPUNIT16 2 구분선아래여백 HWPUNIT16 2 주석사이여백 UINT8 1 구분선종류 ( 테두리 / 배경의테두리선종류참조 ) UINT8 1 구분선굵기 ( 테두리 / 배경의테두리선굵기참조 ) CORORREF 4 구분선색상 ( 테두리 / 배경의테두리선색상참조 ) 전체길이 26 표 133 각주 / 미주모양 범위구분값설명 bit 0~7 bit 8~9 bit 10~11 bit 12 bit 13 번호모양. 0~16 은범용. 0x80, 0x81 은각주 / 미주전용 한페이지내에서각주를다단에위치시킬방법 numbering 0 1, 2, 3 1 동그라미쳐진 1, 2, 3 2 I, II, III 3 i, ii, iii 4 A, B, C 5 a, b, c 6 동그라미쳐진 A, B, C 7 동그라미쳐진 a, b, c 8 가, 나, 다 9 동그라미쳐진가, 나, 다 10 ㄱ, ㄴ, ㄷ 11 동그라미쳐진ㄱ, ㄴ, ㄷ 12 일, 이, 삼 13 一, 二, 三 14 동그라미쳐진一, 二, 三 15 갑, 을, 병, 정, 무, 기, 경, 신, 임, 계 16 甲, 乙, 丙, 丁, 戊, 己, 庚, 辛, 壬, 癸 0x80 4가지문자가차례로반복 0x81 사용자지정문자반복 0 ( 각주인경우 ) 각단마다따로배열 1 ( 각주인경우 ) 통단으로배열 2 ( 각주인경우 ) 가장오른쪽단에배열 0 ( 미주인경우 ) 문서의마지막 1 ( 미주인경우 ) 구역의마지막 0 앞구역에이어서 1 현재구역부터새로시작 2 쪽마다새로시작 ( 각주전용 ) 각주내용중번호코드의모양을위첨자형식으로할지여부텍스트에이어바로출력할지여부 표 134 각주 / 미주모양속성 55

61 쪽테두리 / 배경 Tag ID : HWPTAG_PAGE_BORDER_FILL UINT 4 속성 ( 표 136 참조 ) HWPUNIT16 2 테두리 / 배경위치왼쪽간격 HWPUNIT16 2 테두리 / 배경위치오른쪽간격 HWPUNIT16 2 테두리 / 배경위치위쪽간격 HWPUNIT16 2 테두리 / 배경위치아래쪽간격 UINT16 2 테두리 / 배경 ID 전체길이 12 표 135 쪽테두리 / 배경 bit 0 bit 1 bit 2 bit 3 ~ 4 범위구분값설명 위치기준 머리말포함 꼬리말포함 채울영역 0 본문기준 1 종이기준 0 미포함 1 포함 0 미포함 1 포함 0 종이 1 쪽 2 테두리 표 136 쪽테두리 / 배경속성 HWPUNIT 4 텍스트영역의폭 HWPUNIT 4 텍스트영역의높이 BYTE 1 각비트가해당레벨의텍스트에대한참조를했는지여부 BYTE 1 각비트가해당레벨의번호에대한참조를했는지여부 전체길이 10 표 137 바탕쪽정보 단정의 UINT16 2 속성의 bit 0-15( 표 138 참조 ) HWPUNIT16 2 단사이간격 WORD array[cnt] 2 cnt 단너비가동일하지않으면, 단의개수만큼단의폭 UINT16 2 속성의 bit 16-32( 표 139 참조 ) UINT8 1 단구분선종류 ( 테두리 / 배경의테두리선종류참조 ) UINT8 1 단구분선굵기 ( 테두리 / 배경의테두리선굵기참조 ) CORORREF 4 단구분선색상 ( 테두리 / 배경의테두리선색상참조 ) 전체길이가변 12 + (2 cnt) 바이트 표 138 단정의 56

62 머리말 / 꼬리말 범위구분값설명 0 일반다단 bit 0~1 단종류 1 배분다단 2 평행다단 bit 2~9 단개수 (cnt) 왼쪽부터 bit 10~11 단방향지정 1 오른쪽부터 2 맞쪽 bit 12 단너비동일하게여부 표 139 단정의속성 문단리스트를포함한다. UINT32 4 속성 ( 표 141 참조 ) HWPUNIT 4 텍스트영역의폭 HWPUNIT 4 텍스트영역의높이 BYTE 1 각비트가해당레벨의텍스트에대한참조를했는지여부 BYTE 1 각비트가해당레벨의번호에대한참조를했는지여부 전체길이 14 표 140 머리말 / 꼬리말 범위구분값설명 bit 0~1 머리말이적용될범위 ( 페이지종류 ) 표 141 머리말 / 꼬리말속성 0 양쪽 1 짝수쪽만 2 홀수쪽만 각주 / 미주 각주 / 미주는문단리스트외에속성을갖지않는다. 하지만쓰레기값이나불필요한업데이트를줄이기위해 8 byte 를 serialize 한다. 57

63 자동번호 UINT32 4 속성 ( 표 143 참조 ) UINT16 2 번호 WCHAR 2 사용자기호 WCHAR 2 앞장식문자 WCHAR 2 뒤장식문자 전체길이 12 표 142 자동번호 범위구분값설명 0 쪽번호 1 각주번호 2 미주번호 bit 0~3 번호종류 3 그림번호 4 표번호 5 수식번호 bit 4~11 번호모양표 134 참조각주에서만사용된다. bit 12 superscript 각주내용중번호코드의모양을위첨자형식으로할지여부. 표 143 자동번호속성 새번호지정 UINT32 4 속성범위 설명 bit 0~3 번호종류 ( 표 143 참조 ) UINT16 2 번호 전체길이 8 표 144 새번호지정 감추기 자료형 길이 ( 바이트 ) 설명 속성구분 값 설명 0x 머리말 0x 꼬리말 UINT 2 0x 바탕쪽감출대상 0x 테두리 0x 배경 0x 쪽번호위치 전체길이 2 표 145 감추기 58

64 홀 / 짝수조정 UINT32 4 전체길이 4 속성범위 구분 값 설명 bit 0~1 0 양쪽홀 / 짝수 1 짝수쪽구분 2 홀수쪽 표 146 홀 / 짝수조정 쪽번호위치 UINT32 4 속성 ( 표 148 참조 ) WCHAR 2 사용자기호 WCHAR 2 앞장식문자 WCHAR 2 뒤장식문자 WCHAR 2 항상 "-" 전체길이 12 표 147 쪽번호위치 범위구분값설명 bit 0~7 번호모양 표 143 참조 0 쪽번호없음 1 왼쪽위 2 가운데위 3 오른쪽위 4 왼쪽아래 bit 8~11 번호의표시위치 5 가운데아래 6 오른쪽아래 7 바깥쪽위 8 바깥쪽아래 9 안쪽위 10 안쪽아래 표 148 쪽번호위치속성 찾아보기표식 WORD 2 키워드길이 (len1) WCHAR array[len1] 2 len1 찾아보기에사용할첫번째키워드 WORD 2 키워드길이 (len2) WCHAR array[len2] 2 len2 찾아보기에사용할두번째키워드 UINT16 2 dummy 전체길이가변 6 + (2 len1) + (2 len2) 바이트 표 149 찾아보기표식 59

65 책갈피 책갈피컨트롤은책갈피로서갖는정보로서 ' 책갈피이름 ' 밖에없으며, 컨트롤임의의데이터인 HWPTAG_CTRL_DATA 로레코드된다. (Tag: HWPTAG_CTRL_DATA 참조 ) 글자겹침 UINT32 4 ctrl ID WORD 2 겹칠글자길이 (len) WCHAR array[len] 2 len 겹칠글자 UINT8 1 테두리타입 INT8 1 내부글자크기 UINT8 1 테두리내부글자펼침 UINT8 1 테두리내부글자속성아이디의수 (cnt) UINT array[cnt] 4 x cnt 테두리내부글자의 charshapeid 의배열 전체길이가변 10 + (2 len) + (4 cnt) 표 150 글자겹침 덧말 WORD 2 main Text 길이 WCHAR 2 main Text WORD 2 sub Text 길이 WCHAR 2 sub Text 구분 값 설명 UINT 4 0 위덧말의위치 1 아래 2 가운데 UINT 4 Fsizeratio UINT 4 Option UINT 4 Style number 구분 값 설명 0 양쪽정렬 1 왼쪽정렬 UINT 4 2 오른쪽정렬정렬기준 3 가운데정렬 4 배분정렬 5 나눔정렬 ( 공백에만배분 ) 전체길이 18 표 151 덧말 숨은설명 문단리스트만을포함한다.( 문서보안레벨에따라숨은설명데이터들은무효화될수있다.) 60

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 03 장. 테두리여백지정하는속성 이번장에서는테이블, 레이어, 폼양식등의더예쁘게꾸미기위해서 CSS 를이용하여 HTML 요소의테두리속성을바꾸어보자. 이장에서다룰내용 1 2 3 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 01. 테두리를제어하는스타일시트 속성값설명 border-width border-left-width

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint Presentation

PowerPoint Presentation 웹과인터넷활용및실습 (Web & Internet) Suan Lee - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 1 04. CSS3 스타일속성 04. CSS3 Style Properties - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 2 CSS3 단위 1 CSS 는각각의스타일속성에다양한값을입력

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

e-비즈니스 전략 수립

e-비즈니스 전략 수립 CSS3 속성 HTML5 웹프로그래밍입문 ( 개정판 ) Contents 학습목표 CSS3가지원하는스타일속성과스타일값을활용할수있습니다. CSS3를사용해레이아웃을잡을수있습니다. 내용 CSS3 단위 박스속성 display 속성 배경속성 글자속성 위치속성 float 속성 그림자속성 그레이디언트 2/85 1. CSS3 단위 키워드단위 W3C에서미리정의한단어 키워드를입력하면키워드에해당하는스타일이자동으로적용

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

1997 4 23 2000 9 5 2003 9 10 2008 2 20 2008 12 10 2011 7 1 2012 8 17 2014 9 19 2015 3 31 2015 6 30 2016 9 30 2017 6 30 2019 3 31 326 327 328 < >

More information

디지털영상처리3

디지털영상처리3 비트맵개요 BMP 파일의이해실제 BMP 파일의분석 BMP 파일을화면에출력 } 비트맵 (bitmap) 윈도우즈에서영상을표현하기위해사용되는윈도우즈 GDI(Graphic Device Interface) 오브젝트의하나 } 벡터그래픽 (vector graphics) 점, 선, 면등의기본적인그리기도구를이용하여그림을그리는방식 } 윈도우즈 GDI(Graphic Device

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

Microsoft PowerPoint - HWP_1.ppt [호환 모드]

Microsoft PowerPoint - HWP_1.ppt [호환 모드] 한글 2005 - 기본 Company Logo @ 서울대학교통계학과 2009년 2학기컴퓨터의개념및실습 (http://dcom09.ez.ro) q 학습목표 l 한글프로그램의화면구성 l 한글문서의생성과저장 l 글자입력및수정 l 블록설정 l 글자모양과문단모양꾸미기 l 스타일지정 l 머리말 / 꼬리말, 쪽번호넣기 l 편집용지설정 l 문서인쇄 - 2 - q 기본사용법익히기

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - 05geometry.ppt

Microsoft PowerPoint - 05geometry.ppt Graphic Applications 3ds MAX 의기초도형들 Geometry 3 rd Week, 2007 3 차원의세계 축 (Axis) X, Y, Z 축 중심점 (Origin) 축들이모이는점 전역축 (World Coordinate Axis) 절대좌표 지역축 (Local Coordinate Axis) 오브젝트마다가지고있는축 Y Z X X 다양한축을축을사용한작업작업가능

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

q 학습목표 l 표삽입 l 표 / 셀크기조절및이동 l 셀블록설정및셀나누기 / 합치기 l 셀속성및셀테두리 / 배경설정 l 차트생성및서식변경 l 글상자생성및속성변경 l 머리말 / 꼬리말, 쪽번호넣기 l 주석다루기 - 2 -

q 학습목표 l 표삽입 l 표 / 셀크기조절및이동 l 셀블록설정및셀나누기 / 합치기 l 셀속성및셀테두리 / 배경설정 l 차트생성및서식변경 l 글상자생성및속성변경 l 머리말 / 꼬리말, 쪽번호넣기 l 주석다루기 - 2 - 한글 2005 - 활용 Company Logo @ 서울대학교통계학과 2009년 2학기컴퓨터의개념및실습 (http://dcom09.ez.ro) q 학습목표 l 표삽입 l 표 / 셀크기조절및이동 l 셀블록설정및셀나누기 / 합치기 l 셀속성및셀테두리 / 배경설정 l 차트생성및서식변경 l 글상자생성및속성변경 l 머리말 / 꼬리말, 쪽번호넣기 l 주석다루기 - 2 -

More information

파일 새문서 2014 VP 새탭 문서마당 파일 문서 (2.1~2.5) (*.hwp;*.frm) 문서 (2.0) (*.hwp;*.frm) 문서 (1.x) (*.hwp) 2014 VP 카테고리 서식 (*.hwt) 최근이용한문서마당 HWPML2.X (*.hml) 서식파일찾기

파일 새문서 2014 VP 새탭 문서마당 파일 문서 (2.1~2.5) (*.hwp;*.frm) 문서 (2.0) (*.hwp;*.frm) 문서 (1.x) (*.hwp) 2014 VP 카테고리 서식 (*.hwt) 최근이용한문서마당 HWPML2.X (*.hml) 서식파일찾기 글 (MAC) 문서작성기기능표 파일 새문서 2014 VP 새탭 문서마당 파일 문서 (2.1~2.5) (*.hwp;*.frm) 문서 (2.0) (*.hwp;*.frm) 문서 (1.x) (*.hwp) 2014 VP 카테고리 서식 (*.hwt) 최근이용한문서마당 HWPML2.X (*.hml) 서식파일찾기 HWPML1.X (*.hml) 서식미리보기 표준문서 (*.hwpx)

More information

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트워크주소와 브로드캐스트주소를설명할수있다. 학습내용 1 : IP 헤더필드구성 1. Network Layer Fields 2. IP 헤더필드의구성 1)

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 05 장 CSS3 선택자 1. 선택자개요 2. 기본선택자 3. 속성선택자 4. 후손선택자와자손선택자 5. 반응 / 상태 / 구조선택자 CSS 블록을생성할수있다. 선택자를이해하고적절한선택자를활용할수있다. 1 선택자개요 CSS3 선택자 특정한 HTML 태그를선택할때사용하는기능 선택한태그에원하는스타일이나스크립트적용가능 그림 5-1 CSS 블록 CSS 블록 style

More information

수식모드수식의표현법 수학식표현 조남운 조남운 수학식표현

수식모드수식의표현법 수학식표현 조남운 조남운 수학식표현 조남운 mailto:namun.cho@gmail.com 2008.2.20 AMS-TEX 미국수학회 (American Mathematical Society) 에서만든수학패키지 대부분의수학표현은 AMS-TEX 을이용하고있음. 자세한내용은 AMS-TEX 매뉴얼을참조할것. http://www.ams.org/tex/amstex.html AMS-TEX 패키지선언 \usepackage{amssymb,

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형

제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형 그림배치 이주용 jlee@formal.korea.ac.kr 2011 년 9 월 28 일 제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형 (b)

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드] 2010-1 학기프로그래밍입문 (1) 11 장입출력과운영체제 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 0 특징 printf() - 임의의개수의인자출력 - 간단한변환명세나형식을사용한출력제어 A Book on C, 4ed. 11-1 printf() printf(control_string, other_argument) -

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)- 1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는 Dong Yang E&P 인버터 Modbus Monitoring Protocol 2018. 08. 27 Sun Spec (Modbus-RTU) -. Modbus Protocol 각 Field에대한설명 Frame갂의구별을위한최소한의시갂 BaudRate 9600에서 1bit 젂송시갂은 Start 0.104msec, (3.5 character Times, 1 Character

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Tablespace On-Offline 테이블스페이스 온라인/오프라인 2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

1809_2018-BESPINGLOBAL_Design Guidelines_out

1809_2018-BESPINGLOBAL_Design Guidelines_out 베스핀글로벌 디자인 가이드라인 베스핀글로벌은 경험과 기술을 바탕으로 고객에게 신뢰를 주는 기업이기를 지향합니다. 모든 서비스와 소통채널에서 우리의 가치를 일관되게 표현하도록 합니다. SIGNATURE SIGNATURE + SLGAN SIGNATURE [CHINA] SIGNATURE + SYMBL 2018년 1.ver 베스핀글로벌 디자인 가이드라인 디자인 가이드라인을

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HTML5 웹프로그래밍입문 5 장. 고급표현을위한 CSS3 활용 1 목차 5.1 박스모델설정하기 5.2 레이아웃설정하기 5.3 다양한효과설정하기 5.4 움직임설정하기 2 5.1 박스모델설정하기 5.1.1 영역설정을위한박스모델 5.1.2 박스모델유형의지정 3 영역설정을위한박스모델 배경영역 , , : 해당하는줄만큼배경 ,

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 EndNote Q & A EndNote Library 압축저장하기 : enlx 압축파일만들기 EndNote Library 글씨체변경 PDF 반입시 Reference 오류 : DOI 를활용하여 Reference 자동입력 중복된 Reference 찾기 Reference 병합하기 Group Reference 구분기호수정 논문제목영어대문자로입력하기 화학식원형으로표현하기

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

슬라이드 1

슬라이드 1 웹프로그래밍 HTML, 자바스크립트, ASP 를중심으로 제 3 장고급 HTML 작성 목차 제 3 장고급 HTML 작성 2.1 기본태그 2.2 LINK 태그 2.3 Image 2.4 TABLE 2.5 FRAME 2.6 INPUT 양식 2 3 장고급 HTML 작성 멀티미디어파일다루기 스타일시트 레이어 3 3.1 멀티미디어 최근인터넷사용자가급증하면서기업 / 개인용홈페이지가급증하였고다양한홈페이지를만들기위해많은기술들이생겨나고있음

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

미쓰리 파워포인트

미쓰리 파워포인트 computer & internet 07. FRAME TAG FRAME? 프레임이란? : 웹페이지를수직이나수평으로여러개영역으로나누어다른웹문서가들어갈수있도록구성할수있음. 이때나누어진각각의창을프레임이라고함. 2 FRAME 문서의구조 HTML 문서에서 태그기능을 프레임문서구조에서는 이대신함 일반웹페이지구조 ..

More information

<3036B0AD D4C5F584D4C5FC0CEC5CDB3DDBAB8C3E6C7D0BDC0C0DAB7E12E687770>

<3036B0AD D4C5F584D4C5FC0CEC5CDB3DDBAB8C3E6C7D0BDC0C0DAB7E12E687770> HTML/XML 인터넷보충학습자료 - 1 - (1) 글자색상 : color 속성사용 - 태그의 color 속성과같은역할을한다. (2) 배경지정 : background-color 속성사용. - HTML의 bgcolor 속성과같은역할. bgcolor 속성은일정한태그에만한정되어있지만 background-color 속성은어떤태그에서도모두적용된다.

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, 2018 1 George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오. 실행후 Problem 1.3에 대한 Display결과가 나와야 함) George 그림은 다음과

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

2_안드로이드UI

2_안드로이드UI 03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout

More information

Javascript

Javascript 1. HTML 이란? HTML 은 Hyper Text Mark Up Language 의약자로예약되어있는각종태그라는명령어를이용하여웹페이지를작성할때사용하는언어입니다. 2. HTML 의기본구조 < 태그 > 내용 < 태그속성 = 변수 > 내용

More information

슬라이드 1

슬라이드 1 BMP 파일구조 김성영교수 금오공과대학교 컴퓨터공학부 학습목표 BMP 파일의구조및그특징을설명할수있다. 파일헤더및비트맵정보헤더의주요필드를구분하고그역할을설명할수있다. C언어를사용하여 BMP 파일을처리할수있다. 2 BMP 파일구조 File Header (BITMAPFILEHEADER) Bitmap Info. Header (BITMAPINFOHEADER) Headers

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

mobile_guide_SA

mobile_guide_SA 네이버 모바일배너 모바일 네트워트 GUIDE AD GUIDE Version 1.0 03. 적용위치 04. Appendix 목차 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 01/03 네이버 모바일배너 개요 네이버 모바일배너는 네이버 모바일 서비스

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 변수와상수의개념에대해알아본다.

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information