ppt-codec 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as readRecordHeader, i as isContainerRecord, n as RECORD_HEADER_SIZE, r as RecordHeader, t as CONTAINER_REC_VER } from "./header-C5eAd16_.cjs";
2
2
  import { a as findDescendants, i as findChildren, n as childRecords, o as readRecordAt, r as findChild, s as readRecordSequence, t as PptRecord } from "./tree-Du_LXAF0.cjs";
3
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.cjs";
3
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.cjs";
4
4
  import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.cjs";
5
5
  import { buildParagraphs } from "./content.cjs";
6
6
  import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.cjs";
@@ -30,4 +30,4 @@ import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY,
30
30
  import { writeStyleTextPropAtom } from "./text/style-write.cjs";
31
31
  import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.cjs";
32
32
  import { writePpt, writePptContent, writePptStreams } from "./write.cjs";
33
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, RunColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { a as readRecordHeader, i as isContainerRecord, n as RECORD_HEADER_SIZE, r as RecordHeader, t as CONTAINER_REC_VER } from "./header-C5eAd16_.js";
2
2
  import { a as findDescendants, i as findChildren, n as childRecords, o as readRecordAt, r as findChild, s as readRecordSequence, t as PptRecord } from "./tree-PMcPNgd-.js";
3
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom } from "./text/style.js";
3
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.js";
4
4
  import { TextBody, buildTextBody, collectFontFamilies } from "./content-write.js";
5
5
  import { buildParagraphs } from "./content.js";
6
6
  import { writeSlideSchemeColorSchemeAtom } from "./document/color-scheme-write.js";
@@ -30,4 +30,4 @@ import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY,
30
30
  import { writeStyleTextPropAtom } from "./text/style-write.js";
31
31
  import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
32
32
  import { writePpt, writePptContent, writePptStreams } from "./write.js";
33
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, CharacterProperties, CurrentUser, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, DocumentAtom, DrawingShape, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, MasterStyleLevel, MasterTextStyleAtom, NOTES_MASTER_SLIDE_ID_REF, NotesAtom, NotesPersist, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, OutlineText, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, ParagraphProperties, PersistDirectory, PersistDirectoryEntryToWrite, PointStruct, PptDocument, PptEncryptedError, PptFormatError, PptRecord, PptShape, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, RecordHeader, RecordWriteOptions, RgbColor, RunColor, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, ShapeRect, SlidePersist, SlidePersistRef, StyleRun, StyleTextProps, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, TextBody, TextParagraph, UserEdit, UserEditFields, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { PptEncryptedError, PptFormatError, PptUnsupportedContentError } from ".
2
2
  import { CONTAINER_REC_VER, RECORD_HEADER_SIZE, isContainerRecord, readRecordHeader } from "./record/header.js";
3
3
  import { childRecords, findChild, findChildren, findDescendants, readRecordAt, readRecordSequence } from "./record/tree.js";
4
4
  import { OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES } from "./record/types.js";
5
- import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, readStyleTextPropAtom } from "./text/style.js";
5
+ import { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.js";
6
6
  import { LINE_BREAK, PARAGRAPH_SEPARATOR, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, characterCountOf, readTextBody, readTextHeaderAtom, splitParagraphs } from "./text/atoms.js";
7
7
  import { MASTER_UNITS_PER_POINT, POINTS_PER_INCH, masterUnitsToPoints, pointsToMasterUnits } from "./units.js";
8
8
  import { buildTextBody, collectFontFamilies } from "./content-write.js";
@@ -30,4 +30,4 @@ import { layoutMetadataToSummaryInformation } from "./metadata.js";
30
30
  import { writeCurrentUserAtom } from "./stream/current-user-write.js";
31
31
  import { writePersistDirectoryAtom, writeUserEditAtom } from "./stream/persist-write.js";
32
32
  import { writePpt, writePptContent, writePptStreams } from "./write.js";
33
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PptEncryptedError, PptFormatError, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
33
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CONTAINER_REC_VER, CURRENT_USER_DOC_FILE_VERSION, CURRENT_USER_FIXED_SIZE, CURRENT_USER_HEADER_TOKEN_ENCRYPTED, CURRENT_USER_HEADER_TOKEN_PLAIN, CURRENT_USER_STREAM, DEFAULT_INSET_LEFT_RIGHT_PT, DEFAULT_INSET_TOP_BOTTOM_PT, LINE_BREAK, MASTER_SLIDE_ID, MASTER_UNITS_PER_POINT, NOTES_MASTER_SLIDE_ID_REF, OfficeArtChildAnchor, OfficeArtClientAnchor, OfficeArtClientData, OfficeArtClientTextbox, OfficeArtDgContainer, OfficeArtFOPT, OfficeArtFSP, OfficeArtFSPGR, OfficeArtSpContainer, OfficeArtSpgrContainer, PARAGRAPH_SEPARATOR, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, POINTS_PER_INCH, POWERPOINT_DOCUMENT_STREAM, PptEncryptedError, PptFormatError, PptUnsupportedContentError, RECORD_HEADER_SIZE, RT_CString, RT_ColorSchemeAtom, RT_CryptSession10Container, RT_CurrentUserAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_DrawingGroup, RT_Environment, RT_ExternalObjectList, RT_FontCollection, RT_FontEntityAtom, RT_List, RT_MainMaster, RT_MasterTextPropAtom, RT_Notes, RT_NotesAtom, RT_OutlineTextRefAtom, RT_PersistDirectoryAtom, RT_PlaceholderAtom, RT_Slide, RT_SlideAtom, RT_SlideListWithText, RT_SlidePersistAtom, RT_StyleTextPropAtom, RT_TextBytesAtom, RT_TextCharsAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom, RT_TextRulerAtom, RT_TextSpecialInfoAtom, RT_TextSpecialInfoDefaultAtom, RT_UserEditAtom, SLIDE_LIST_INSTANCE_MASTERS, SLIDE_LIST_INSTANCE_NOTES, SLIDE_LIST_INSTANCE_SLIDES, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, SUMMARY_INFORMATION_STREAM, TEXT_TYPE_BODY, TEXT_TYPE_CENTER_BODY, TEXT_TYPE_CENTER_TITLE, TEXT_TYPE_HALF_BODY, TEXT_TYPE_NOTES, TEXT_TYPE_OTHER, TEXT_TYPE_QUARTER_BODY, TEXT_TYPE_TITLE, asciiBytes, buildParagraphs, buildPersistDirectory, buildTextBody, characterCountOf, childRecords, collectFontFamilies, concatBytes, findChild, findChildren, findDescendants, i16le, i32le, isContainerRecord, layoutMetadataToSummaryInformation, masterUnitsToPoints, pointsToMasterUnits, readCurrentUserAtom, readDocumentAtom, readDrawingShapes, readFontNames, readNotesAtom, readNotesContainerAtom, readNotesListWithText, readNotesText, readPersistDirectoryAtom, readPpt, readPptContent, readPptStreams, readRecordAt, readRecordHeader, readRecordSequence, readSlideListWithText, readStyleTextPropAtom, readTextBody, readTextHeaderAtom, readTextMasterStyleAtom, readUserEditAtom, resolvePersistObject, splitParagraphs, u16le, u32le, u8, utf16le, writeAtom, writeContainer, writeCurrentUserAtom, writeDocumentAtom, writeDrawingWithClientData, writeEnvironment, writeMainMaster, writeMasterListWithText, writeNotesAtom, writeNotesContainer, writeNotesListWithText, writePersistDirectoryAtom, writePpt, writePptContent, writePptStreams, writeSlideAtom, writeSlideAtomForSlide, writeSlideDrawing, writeSlideListWithText, writeSlideSchemeColorSchemeAtom, writeStyleTextPropAtom, writeUserEditAtom };
@@ -0,0 +1,25 @@
1
+ import { t as PptRecord } from "./tree-PMcPNgd-.js";
2
+ import { CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, ParagraphProperties, RgbColor } from "./text/style.js";
3
+ //#region src/document/master.d.ts
4
+ /** One master's own resolved facts: its text-style cascade table and its own colour scheme. Bundled together because both are keyed off the same masterIdRef a slide's SlideAtom names -- a caller resolving one always needs the other too. */
5
+ interface MasterInfo {
6
+ readonly styles: MasterStyleTable;
7
+ readonly colorScheme: readonly RgbColor[];
8
+ }
9
+ /** One master's own resolved text styles, keyed by TextTypeEnum member (text/atoms.ts's own TEXT_TYPE_* constants). A type absent from the map states nothing of its own; resolveCharacterProperties/resolveParagraphProperties below fall through to a sibling type in the same family (BODY/CENTER_BODY/HALF_BODY/QUARTER_BODY; TITLE/CENTER_TITLE) or leave the property undefined. */
10
+ interface MasterStyleTable {
11
+ readonly byType: ReadonlyMap<number, readonly MasterStyleLevel[]>;
12
+ }
13
+ /** Builds one MainMasterContainer's own MasterStyleTable from its direct-child TextMasterStyleAtoms, falling back to the document-wide default (the single OTHER-typed TextMasterStyleAtom [MS-PPT] states lives in the DocumentTextInfoContainer inside Environment) for any TextTypeEnum member the master itself carries no atom for. A real master this package's own writer produces always states TITLE/BODY/NOTES explicitly (master-write.ts's own comment), so the document default is realistically only ever consulted for OTHER-typed runs or a third-party master that omits one of the three -- but [MS-PPT] 2.9.35 makes it the genuine fallback of last resort for every type, not a special case for OTHER alone. */
14
+ declare function buildMasterStyleTable(masterAtoms: readonly MasterTextStyleAtom[], documentDefault: MasterTextStyleAtom | undefined): MasterStyleTable;
15
+ /** Resolves a run's own ParagraphProperties (possibly stating nothing at all, when the run's paragraph itself carries no TextPFException of its own) against the master cascade -- every field the run itself states wins outright; every field it doesn't falls through to the first master level that does. indentLevel is never itself resolved from the cascade: it is the run's own stated (or default-zero) outline depth, and is what selects which master levels apply in the first place. */
16
+ declare function resolveParagraphProperties(run: ParagraphProperties | undefined, table: MasterStyleTable, textType: number, indentLevel: number): ParagraphProperties;
17
+ /** The character-property counterpart of resolveParagraphProperties -- see that function's own comment for the cascade this implements. `color` resolves to whichever RunColor (literal or still-unresolved scheme reference) the cascade finds first; converting a scheme reference to an actual RgbColor is document/color-scheme.ts's own concern, deliberately kept separate since it needs the slide's colour scheme rather than anything the text-formatting cascade itself touches. */
18
+ declare function resolveCharacterProperties(run: CharacterProperties | undefined, table: MasterStyleTable, textType: number, indentLevel: number): CharacterProperties;
19
+ interface SlideAtomInfo {
20
+ readonly masterIdRef: number;
21
+ readonly notesIdRef: number;
22
+ }
23
+ declare function readSlideAtom(record: PptRecord): SlideAtomInfo;
24
+ //#endregion
25
+ export { readSlideAtom as a, buildMasterStyleTable as i, MasterStyleTable as n, resolveCharacterProperties as o, SlideAtomInfo as r, resolveParagraphProperties as s, MasterInfo as t };
@@ -0,0 +1,25 @@
1
+ import { t as PptRecord } from "./tree-Du_LXAF0.cjs";
2
+ import { CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, ParagraphProperties, RgbColor } from "./text/style.cjs";
3
+ //#region src/document/master.d.ts
4
+ /** One master's own resolved facts: its text-style cascade table and its own colour scheme. Bundled together because both are keyed off the same masterIdRef a slide's SlideAtom names -- a caller resolving one always needs the other too. */
5
+ interface MasterInfo {
6
+ readonly styles: MasterStyleTable;
7
+ readonly colorScheme: readonly RgbColor[];
8
+ }
9
+ /** One master's own resolved text styles, keyed by TextTypeEnum member (text/atoms.ts's own TEXT_TYPE_* constants). A type absent from the map states nothing of its own; resolveCharacterProperties/resolveParagraphProperties below fall through to a sibling type in the same family (BODY/CENTER_BODY/HALF_BODY/QUARTER_BODY; TITLE/CENTER_TITLE) or leave the property undefined. */
10
+ interface MasterStyleTable {
11
+ readonly byType: ReadonlyMap<number, readonly MasterStyleLevel[]>;
12
+ }
13
+ /** Builds one MainMasterContainer's own MasterStyleTable from its direct-child TextMasterStyleAtoms, falling back to the document-wide default (the single OTHER-typed TextMasterStyleAtom [MS-PPT] states lives in the DocumentTextInfoContainer inside Environment) for any TextTypeEnum member the master itself carries no atom for. A real master this package's own writer produces always states TITLE/BODY/NOTES explicitly (master-write.ts's own comment), so the document default is realistically only ever consulted for OTHER-typed runs or a third-party master that omits one of the three -- but [MS-PPT] 2.9.35 makes it the genuine fallback of last resort for every type, not a special case for OTHER alone. */
14
+ declare function buildMasterStyleTable(masterAtoms: readonly MasterTextStyleAtom[], documentDefault: MasterTextStyleAtom | undefined): MasterStyleTable;
15
+ /** Resolves a run's own ParagraphProperties (possibly stating nothing at all, when the run's paragraph itself carries no TextPFException of its own) against the master cascade -- every field the run itself states wins outright; every field it doesn't falls through to the first master level that does. indentLevel is never itself resolved from the cascade: it is the run's own stated (or default-zero) outline depth, and is what selects which master levels apply in the first place. */
16
+ declare function resolveParagraphProperties(run: ParagraphProperties | undefined, table: MasterStyleTable, textType: number, indentLevel: number): ParagraphProperties;
17
+ /** The character-property counterpart of resolveParagraphProperties -- see that function's own comment for the cascade this implements. `color` resolves to whichever RunColor (literal or still-unresolved scheme reference) the cascade finds first; converting a scheme reference to an actual RgbColor is document/color-scheme.ts's own concern, deliberately kept separate since it needs the slide's colour scheme rather than anything the text-formatting cascade itself touches. */
18
+ declare function resolveCharacterProperties(run: CharacterProperties | undefined, table: MasterStyleTable, textType: number, indentLevel: number): CharacterProperties;
19
+ interface SlideAtomInfo {
20
+ readonly masterIdRef: number;
21
+ readonly notesIdRef: number;
22
+ }
23
+ declare function readSlideAtom(record: PptRecord): SlideAtomInfo;
24
+ //#endregion
25
+ export { readSlideAtom as a, buildMasterStyleTable as i, MasterStyleTable as n, resolveCharacterProperties as o, SlideAtomInfo as r, resolveParagraphProperties as s, MasterInfo as t };
package/dist/read.cjs CHANGED
@@ -5,6 +5,8 @@ const require_record_types = require("./record/types.cjs");
5
5
  const require_text_style = require("./text/style.cjs");
6
6
  const require_text_atoms = require("./text/atoms.cjs");
7
7
  const require_units = require("./units.cjs");
8
+ const require_document_color_scheme = require("./document/color-scheme.cjs");
9
+ const require_document_master = require("./document/master.cjs");
8
10
  const require_content = require("./content.cjs");
9
11
  const require_encryption = require("./encryption.cjs");
10
12
  const require_document_document_atom = require("./document/document-atom.cjs");
@@ -36,21 +38,31 @@ function requireStream(streams, name) {
36
38
  function textRecordsFor(clientTextbox, persist) {
37
39
  const children = require_record_tree.childRecords(clientTextbox);
38
40
  const outlineRef = require_record_tree.findChild(children, require_record_types.RT_OutlineTextRefAtom);
39
- if (outlineRef === void 0) return children;
41
+ if (outlineRef === void 0) {
42
+ const headerRecord = require_record_tree.findChild(children, require_record_types.RT_TextHeaderAtom);
43
+ if (headerRecord === void 0) throw new require_errors.PptFormatError("a client textbox's own text records carry no TextHeaderAtom, which [MS-PPT] 2.9.1 requires to precede its TextCharsAtom/TextBytesAtom");
44
+ return {
45
+ textType: require_text_atoms.readTextHeaderAtom(headerRecord),
46
+ records: children
47
+ };
48
+ }
40
49
  if (outlineRef.data.length < 4) throw new require_errors.PptFormatError(`OutlineTextRefAtom at offset ${outlineRef.offset} carries ${outlineRef.data.length} bytes, fewer than the 4 its index field needs`);
41
50
  const index = new DataView(outlineRef.data.buffer, outlineRef.data.byteOffset, outlineRef.data.byteLength).getInt32(0, true);
42
51
  const outlineText = persist.texts[index];
43
52
  if (outlineText === void 0) throw new require_errors.PptFormatError(`OutlineTextRefAtom references text ${index} of slide ${persist.slideId}, which has only ${persist.texts.length} texts in the slide list`);
44
- return outlineText.records;
53
+ return {
54
+ textType: outlineText.textType,
55
+ records: outlineText.records
56
+ };
45
57
  }
46
- function blocksFor(clientTextbox, persist, fontNames) {
58
+ function blocksFor(clientTextbox, persist, fontNames, masterInfo) {
47
59
  if (clientTextbox === void 0) return [];
48
- const records = textRecordsFor(clientTextbox, persist);
60
+ const { textType, records } = textRecordsFor(clientTextbox, persist);
49
61
  const text = require_text_atoms.readTextBody(records);
50
62
  if (text === void 0) return [];
51
63
  const styleRecord = require_record_tree.findChild(records, require_record_types.RT_StyleTextPropAtom);
52
64
  const style = styleRecord === void 0 ? NO_STYLE : require_text_style.readStyleTextPropAtom(styleRecord, require_text_atoms.characterCountOf(text));
53
- return require_content.buildParagraphs(text, style, fontNames);
65
+ return require_content.buildParagraphs(text, style, fontNames, masterInfo.styles, textType, masterInfo.colorScheme);
54
66
  }
55
67
  function readNotesBySlideId(streamBytes, directory, notesList) {
56
68
  const notes = /* @__PURE__ */ new Map();
@@ -61,10 +73,42 @@ function readNotesBySlideId(streamBytes, directory, notesList) {
61
73
  }
62
74
  return notes;
63
75
  }
64
- function readSlide(streamBytes, directory, persist, size, fontNames, notes) {
76
+ function colorSchemeFor(slideChildren, master) {
77
+ const ownScheme = require_record_tree.findChild(slideChildren, require_record_types.RT_ColorSchemeAtom);
78
+ return ownScheme === void 0 ? master.colorScheme : require_document_color_scheme.readSlideSchemeColorSchemeAtom(ownScheme);
79
+ }
80
+ function readMastersById(streamBytes, directory, masterList, documentDefault) {
81
+ const mastersById = /* @__PURE__ */ new Map();
82
+ if (masterList === void 0) return mastersById;
83
+ for (const persist of require_document_slide_list.readSlideListWithText(masterList)) {
84
+ const masterContainer = require_stream_persist.resolvePersistObject(streamBytes, directory, persist.persistIdRef, `MasterPersistAtom for master ${persist.slideId}`);
85
+ if (masterContainer.header.recType !== 1016) throw new require_errors.PptFormatError(`persist object ${persist.persistIdRef} is record type 0x${masterContainer.header.recType.toString(16)}, not the RT_MainMaster (0x${require_record_types.RT_MainMaster.toString(16)}) its MasterPersistAtom promised`);
86
+ const masterChildren = require_record_tree.childRecords(masterContainer);
87
+ const masterAtoms = masterChildren.filter((record) => record.header.recType === require_record_types.RT_TextMasterStyleAtom).map(require_text_style.readTextMasterStyleAtom);
88
+ const styles = require_document_master.buildMasterStyleTable(masterAtoms, documentDefault);
89
+ const colorSchemeRecord = require_record_tree.findChild(masterChildren, require_record_types.RT_ColorSchemeAtom);
90
+ if (colorSchemeRecord === void 0) throw new require_errors.PptFormatError(`MainMasterContainer for master ${persist.slideId} has no SlideSchemeColorSchemeAtom, which [MS-PPT] 2.5.3 requires`);
91
+ mastersById.set(persist.slideId, {
92
+ styles,
93
+ colorScheme: require_document_color_scheme.readSlideSchemeColorSchemeAtom(colorSchemeRecord)
94
+ });
95
+ }
96
+ return mastersById;
97
+ }
98
+ function readSlide(streamBytes, directory, persist, size, fontNames, notes, mastersById) {
65
99
  const slideContainer = require_stream_persist.resolvePersistObject(streamBytes, directory, persist.persistIdRef, `SlidePersistAtom for slide ${persist.slideId}`);
66
100
  if (slideContainer.header.recType !== 1006) throw new require_errors.PptFormatError(`persist object ${persist.persistIdRef} is record type 0x${slideContainer.header.recType.toString(16)}, not the RT_Slide (0x${require_record_types.RT_Slide.toString(16)}) its SlidePersistAtom promised`);
67
- const drawing = require_record_tree.findChild(require_record_tree.childRecords(slideContainer), require_record_types.RT_Drawing);
101
+ const slideChildren = require_record_tree.childRecords(slideContainer);
102
+ const slideAtomRecord = require_record_tree.findChild(slideChildren, require_record_types.RT_SlideAtom);
103
+ if (slideAtomRecord === void 0) throw new require_errors.PptFormatError(`SlideContainer for slide ${persist.slideId} has no SlideAtom, which [MS-PPT] 2.5.1 requires as its first child`);
104
+ const { masterIdRef } = require_document_master.readSlideAtom(slideAtomRecord);
105
+ const master = mastersById.get(masterIdRef);
106
+ if (master === void 0) throw new require_errors.PptFormatError(`slide ${persist.slideId}'s own SlideAtom names masterIdRef ${masterIdRef}, which the master list does not contain`);
107
+ const masterInfo = {
108
+ styles: master.styles,
109
+ colorScheme: colorSchemeFor(slideChildren, master)
110
+ };
111
+ const drawing = require_record_tree.findChild(slideChildren, require_record_types.RT_Drawing);
68
112
  const shapes = [];
69
113
  for (const shape of drawing === void 0 ? [] : require_drawing_shapes.readDrawingShapes(drawing)) {
70
114
  if (shape.anchor === void 0) continue;
@@ -81,7 +125,7 @@ function readSlide(streamBytes, directory, persist, size, fontNames, notes) {
81
125
  insetTopPt: DEFAULT_INSET_TOP_BOTTOM_PT,
82
126
  insetRightPt: DEFAULT_INSET_LEFT_RIGHT_PT,
83
127
  insetBottomPt: DEFAULT_INSET_TOP_BOTTOM_PT,
84
- blocks: blocksFor(shape.clientTextbox, persist, fontNames)
128
+ blocks: blocksFor(shape.clientTextbox, persist, fontNames, masterInfo)
85
129
  });
86
130
  }
87
131
  return {
@@ -111,13 +155,16 @@ function readPptStreams(currentUserStream, powerPointDocumentStream, password) {
111
155
  };
112
156
  const environment = require_record_tree.findChild(children, require_record_types.RT_Environment);
113
157
  const fontNames = environment === void 0 ? [] : require_document_fonts.readFontNames(environment);
158
+ const documentDefaultRecord = environment === void 0 ? void 0 : require_record_tree.findChild(require_record_tree.childRecords(environment), require_record_types.RT_TextMasterStyleAtom);
159
+ const documentDefault = documentDefaultRecord === void 0 ? void 0 : require_text_style.readTextMasterStyleAtom(documentDefaultRecord);
114
160
  const listWithInstance = (instance) => children.find((record) => record.header.recType === 4080 && record.header.recInstance === instance);
161
+ const mastersById = readMastersById(streamBytes, directory, listWithInstance(1), documentDefault);
115
162
  const slideList = listWithInstance(0);
116
163
  const persists = slideList === void 0 ? [] : require_document_slide_list.readSlideListWithText(slideList);
117
164
  const notesBySlideId = readNotesBySlideId(streamBytes, directory, listWithInstance(2));
118
165
  return {
119
166
  metadata: {},
120
- slides: persists.map((persist) => readSlide(streamBytes, directory, persist, size, fontNames, notesBySlideId.get(persist.slideId) ?? ""))
167
+ slides: persists.map((persist) => readSlide(streamBytes, directory, persist, size, fontNames, notesBySlideId.get(persist.slideId) ?? "", mastersById))
121
168
  };
122
169
  }
123
170
  function readPptContent(bytes, password) {
package/dist/read.js CHANGED
@@ -1,9 +1,11 @@
1
1
  import { PptEncryptedError, PptFormatError } from "./errors.js";
2
2
  import { childRecords, findChild } from "./record/tree.js";
3
- import { RT_Document, RT_DocumentAtom, RT_Drawing, RT_Environment, RT_OutlineTextRefAtom, RT_Slide, RT_StyleTextPropAtom } from "./record/types.js";
4
- import { readStyleTextPropAtom } from "./text/style.js";
5
- import { characterCountOf, readTextBody } from "./text/atoms.js";
3
+ import { RT_ColorSchemeAtom, RT_Document, RT_DocumentAtom, RT_Drawing, RT_Environment, RT_MainMaster, RT_OutlineTextRefAtom, RT_Slide, RT_SlideAtom, RT_StyleTextPropAtom, RT_TextHeaderAtom, RT_TextMasterStyleAtom } from "./record/types.js";
4
+ import { readStyleTextPropAtom, readTextMasterStyleAtom } from "./text/style.js";
5
+ import { characterCountOf, readTextBody, readTextHeaderAtom } from "./text/atoms.js";
6
6
  import { masterUnitsToPoints } from "./units.js";
7
+ import { readSlideSchemeColorSchemeAtom } from "./document/color-scheme.js";
8
+ import { buildMasterStyleTable, readSlideAtom } from "./document/master.js";
7
9
  import { buildParagraphs } from "./content.js";
8
10
  import { decryptPptDocumentStream } from "./encryption.js";
9
11
  import { readDocumentAtom } from "./document/document-atom.js";
@@ -35,21 +37,31 @@ function requireStream(streams, name) {
35
37
  function textRecordsFor(clientTextbox, persist) {
36
38
  const children = childRecords(clientTextbox);
37
39
  const outlineRef = findChild(children, RT_OutlineTextRefAtom);
38
- if (outlineRef === void 0) return children;
40
+ if (outlineRef === void 0) {
41
+ const headerRecord = findChild(children, RT_TextHeaderAtom);
42
+ if (headerRecord === void 0) throw new PptFormatError("a client textbox's own text records carry no TextHeaderAtom, which [MS-PPT] 2.9.1 requires to precede its TextCharsAtom/TextBytesAtom");
43
+ return {
44
+ textType: readTextHeaderAtom(headerRecord),
45
+ records: children
46
+ };
47
+ }
39
48
  if (outlineRef.data.length < 4) throw new PptFormatError(`OutlineTextRefAtom at offset ${outlineRef.offset} carries ${outlineRef.data.length} bytes, fewer than the 4 its index field needs`);
40
49
  const index = new DataView(outlineRef.data.buffer, outlineRef.data.byteOffset, outlineRef.data.byteLength).getInt32(0, true);
41
50
  const outlineText = persist.texts[index];
42
51
  if (outlineText === void 0) throw new PptFormatError(`OutlineTextRefAtom references text ${index} of slide ${persist.slideId}, which has only ${persist.texts.length} texts in the slide list`);
43
- return outlineText.records;
52
+ return {
53
+ textType: outlineText.textType,
54
+ records: outlineText.records
55
+ };
44
56
  }
45
- function blocksFor(clientTextbox, persist, fontNames) {
57
+ function blocksFor(clientTextbox, persist, fontNames, masterInfo) {
46
58
  if (clientTextbox === void 0) return [];
47
- const records = textRecordsFor(clientTextbox, persist);
59
+ const { textType, records } = textRecordsFor(clientTextbox, persist);
48
60
  const text = readTextBody(records);
49
61
  if (text === void 0) return [];
50
62
  const styleRecord = findChild(records, RT_StyleTextPropAtom);
51
63
  const style = styleRecord === void 0 ? NO_STYLE : readStyleTextPropAtom(styleRecord, characterCountOf(text));
52
- return buildParagraphs(text, style, fontNames);
64
+ return buildParagraphs(text, style, fontNames, masterInfo.styles, textType, masterInfo.colorScheme);
53
65
  }
54
66
  function readNotesBySlideId(streamBytes, directory, notesList) {
55
67
  const notes = /* @__PURE__ */ new Map();
@@ -60,10 +72,42 @@ function readNotesBySlideId(streamBytes, directory, notesList) {
60
72
  }
61
73
  return notes;
62
74
  }
63
- function readSlide(streamBytes, directory, persist, size, fontNames, notes) {
75
+ function colorSchemeFor(slideChildren, master) {
76
+ const ownScheme = findChild(slideChildren, RT_ColorSchemeAtom);
77
+ return ownScheme === void 0 ? master.colorScheme : readSlideSchemeColorSchemeAtom(ownScheme);
78
+ }
79
+ function readMastersById(streamBytes, directory, masterList, documentDefault) {
80
+ const mastersById = /* @__PURE__ */ new Map();
81
+ if (masterList === void 0) return mastersById;
82
+ for (const persist of readSlideListWithText(masterList)) {
83
+ const masterContainer = resolvePersistObject(streamBytes, directory, persist.persistIdRef, `MasterPersistAtom for master ${persist.slideId}`);
84
+ if (masterContainer.header.recType !== 1016) throw new PptFormatError(`persist object ${persist.persistIdRef} is record type 0x${masterContainer.header.recType.toString(16)}, not the RT_MainMaster (0x${RT_MainMaster.toString(16)}) its MasterPersistAtom promised`);
85
+ const masterChildren = childRecords(masterContainer);
86
+ const masterAtoms = masterChildren.filter((record) => record.header.recType === RT_TextMasterStyleAtom).map(readTextMasterStyleAtom);
87
+ const styles = buildMasterStyleTable(masterAtoms, documentDefault);
88
+ const colorSchemeRecord = findChild(masterChildren, RT_ColorSchemeAtom);
89
+ if (colorSchemeRecord === void 0) throw new PptFormatError(`MainMasterContainer for master ${persist.slideId} has no SlideSchemeColorSchemeAtom, which [MS-PPT] 2.5.3 requires`);
90
+ mastersById.set(persist.slideId, {
91
+ styles,
92
+ colorScheme: readSlideSchemeColorSchemeAtom(colorSchemeRecord)
93
+ });
94
+ }
95
+ return mastersById;
96
+ }
97
+ function readSlide(streamBytes, directory, persist, size, fontNames, notes, mastersById) {
64
98
  const slideContainer = resolvePersistObject(streamBytes, directory, persist.persistIdRef, `SlidePersistAtom for slide ${persist.slideId}`);
65
99
  if (slideContainer.header.recType !== 1006) throw new PptFormatError(`persist object ${persist.persistIdRef} is record type 0x${slideContainer.header.recType.toString(16)}, not the RT_Slide (0x${RT_Slide.toString(16)}) its SlidePersistAtom promised`);
66
- const drawing = findChild(childRecords(slideContainer), RT_Drawing);
100
+ const slideChildren = childRecords(slideContainer);
101
+ const slideAtomRecord = findChild(slideChildren, RT_SlideAtom);
102
+ if (slideAtomRecord === void 0) throw new PptFormatError(`SlideContainer for slide ${persist.slideId} has no SlideAtom, which [MS-PPT] 2.5.1 requires as its first child`);
103
+ const { masterIdRef } = readSlideAtom(slideAtomRecord);
104
+ const master = mastersById.get(masterIdRef);
105
+ if (master === void 0) throw new PptFormatError(`slide ${persist.slideId}'s own SlideAtom names masterIdRef ${masterIdRef}, which the master list does not contain`);
106
+ const masterInfo = {
107
+ styles: master.styles,
108
+ colorScheme: colorSchemeFor(slideChildren, master)
109
+ };
110
+ const drawing = findChild(slideChildren, RT_Drawing);
67
111
  const shapes = [];
68
112
  for (const shape of drawing === void 0 ? [] : readDrawingShapes(drawing)) {
69
113
  if (shape.anchor === void 0) continue;
@@ -80,7 +124,7 @@ function readSlide(streamBytes, directory, persist, size, fontNames, notes) {
80
124
  insetTopPt: DEFAULT_INSET_TOP_BOTTOM_PT,
81
125
  insetRightPt: DEFAULT_INSET_LEFT_RIGHT_PT,
82
126
  insetBottomPt: DEFAULT_INSET_TOP_BOTTOM_PT,
83
- blocks: blocksFor(shape.clientTextbox, persist, fontNames)
127
+ blocks: blocksFor(shape.clientTextbox, persist, fontNames, masterInfo)
84
128
  });
85
129
  }
86
130
  return {
@@ -110,13 +154,16 @@ function readPptStreams(currentUserStream, powerPointDocumentStream, password) {
110
154
  };
111
155
  const environment = findChild(children, RT_Environment);
112
156
  const fontNames = environment === void 0 ? [] : readFontNames(environment);
157
+ const documentDefaultRecord = environment === void 0 ? void 0 : findChild(childRecords(environment), RT_TextMasterStyleAtom);
158
+ const documentDefault = documentDefaultRecord === void 0 ? void 0 : readTextMasterStyleAtom(documentDefaultRecord);
113
159
  const listWithInstance = (instance) => children.find((record) => record.header.recType === 4080 && record.header.recInstance === instance);
160
+ const mastersById = readMastersById(streamBytes, directory, listWithInstance(1), documentDefault);
114
161
  const slideList = listWithInstance(0);
115
162
  const persists = slideList === void 0 ? [] : readSlideListWithText(slideList);
116
163
  const notesBySlideId = readNotesBySlideId(streamBytes, directory, listWithInstance(2));
117
164
  return {
118
165
  metadata: {},
119
- slides: persists.map((persist) => readSlide(streamBytes, directory, persist, size, fontNames, notesBySlideId.get(persist.slideId) ?? ""))
166
+ slides: persists.map((persist) => readSlide(streamBytes, directory, persist, size, fontNames, notesBySlideId.get(persist.slideId) ?? "", mastersById))
120
167
  };
121
168
  }
122
169
  function readPptContent(bytes, password) {
@@ -4,12 +4,18 @@ const require_text_style = require("./style.cjs");
4
4
  const require_record_write = require("../record/write.cjs");
5
5
  //#region src/text/style-write.ts
6
6
  function writeColorIndexStruct(color) {
7
- return new Uint8Array([
8
- color.red,
9
- color.green,
10
- color.blue,
7
+ if (color.kind === "rgb") return new Uint8Array([
8
+ color.rgb.red,
9
+ color.rgb.green,
10
+ color.rgb.blue,
11
11
  254
12
12
  ]);
13
+ return new Uint8Array([
14
+ 0,
15
+ 0,
16
+ 0,
17
+ color.schemeIndex
18
+ ]);
13
19
  }
14
20
  function writeTextPFException(properties) {
15
21
  let masks = 0;
@@ -3,12 +3,18 @@ import { CF_COLOR, CF_SIZE, CF_TYPEFACE, PF_ALIGN, PF_INDENT, PF_LINE_SPACING, P
3
3
  import { concatBytes, i16le, u16le, u32le, writeAtom } from "../record/write.js";
4
4
  //#region src/text/style-write.ts
5
5
  function writeColorIndexStruct(color) {
6
- return new Uint8Array([
7
- color.red,
8
- color.green,
9
- color.blue,
6
+ if (color.kind === "rgb") return new Uint8Array([
7
+ color.rgb.red,
8
+ color.rgb.green,
9
+ color.rgb.blue,
10
10
  254
11
11
  ]);
12
+ return new Uint8Array([
13
+ 0,
14
+ 0,
15
+ 0,
16
+ color.schemeIndex
17
+ ]);
12
18
  }
13
19
  function writeTextPFException(properties) {
14
20
  let masks = 0;
@@ -51,6 +51,8 @@ const STYLE_UNDERLINE = 4;
51
51
  const STYLE_SHADOW = 16;
52
52
  const STYLE_EMBOSS = 512;
53
53
  const COLOR_INDEX_SRGB = 254;
54
+ const COLOR_INDEX_UNDEFINED = 255;
55
+ const COLOR_SCHEME_SLOT_COUNT = 8;
54
56
  var FieldCursor = class {
55
57
  data;
56
58
  describe;
@@ -91,11 +93,20 @@ var FieldCursor = class {
91
93
  function readColorIndexStruct(cursor) {
92
94
  const [red, green, blue, index] = cursor.bytes(4);
93
95
  if (red === void 0 || green === void 0 || blue === void 0 || index === void 0) throw new require_errors.PptFormatError("ColorIndexStruct read returned fewer than its four bytes");
94
- return index === 254 ? {
95
- red,
96
- green,
97
- blue
98
- } : void 0;
96
+ if (index === 254) return {
97
+ kind: "rgb",
98
+ rgb: {
99
+ red,
100
+ green,
101
+ blue
102
+ }
103
+ };
104
+ if (index === 255) return;
105
+ if (index < 8) return {
106
+ kind: "scheme",
107
+ schemeIndex: index
108
+ };
109
+ throw new require_errors.PptFormatError(`ColorIndexStruct index 0x${index.toString(16)} is none of a colour-scheme slot (0x00-0x07), the literal-colour sentinel (0x${254 .toString(16)}), or the undefined-colour sentinel (0x${255 .toString(16)})`);
99
110
  }
100
111
  function readTextPFException(cursor, indentLevel) {
101
112
  const masks = cursor.u32();
@@ -175,6 +186,30 @@ function readStyleTextPropAtom(record, characterCount) {
175
186
  characterRuns: readRuns(cursor, characterCount, "StyleTextPropAtom character runs", readTextCFException)
176
187
  };
177
188
  }
189
+ const MASTER_STYLE_MAX_LEVELS = 5;
190
+ const MASTER_STYLE_TYPES_WITH_EXPLICIT_LEVEL = 5;
191
+ function readTextMasterStyleAtom(record) {
192
+ if (record.header.recType !== 4003) throw new require_errors.PptFormatError(`expected RT_TextMasterStyleAtom (0x${require_record_types.RT_TextMasterStyleAtom.toString(16)}) at offset ${record.offset}, found record type 0x${record.header.recType.toString(16)}`);
193
+ const textType = record.header.recInstance;
194
+ const cursor = new FieldCursor(record.data, 0, "TextMasterStyleAtom");
195
+ const cLevels = cursor.u16();
196
+ if (cLevels > MASTER_STYLE_MAX_LEVELS) throw new require_errors.PptFormatError(`TextMasterStyleAtom at offset ${record.offset} declares cLevels ${cLevels}, more than the mandated maximum of ${MASTER_STYLE_MAX_LEVELS}`);
197
+ const hasExplicitLevel = textType >= MASTER_STYLE_TYPES_WITH_EXPLICIT_LEVEL;
198
+ const levels = [];
199
+ for (let i = 0; i < cLevels; i += 1) {
200
+ if (hasExplicitLevel) cursor.u16();
201
+ const paragraph = readTextPFException(cursor, i);
202
+ const character = readTextCFException(cursor);
203
+ levels.push({
204
+ paragraph,
205
+ character
206
+ });
207
+ }
208
+ return {
209
+ textType,
210
+ levels
211
+ };
212
+ }
178
213
  //#endregion
179
214
  exports.ALIGN_CENTER = ALIGN_CENTER;
180
215
  exports.ALIGN_DISTRIBUTED = ALIGN_DISTRIBUTED;
@@ -199,6 +234,8 @@ exports.CF_SYMBOL_TYPEFACE = CF_SYMBOL_TYPEFACE;
199
234
  exports.CF_TYPEFACE = CF_TYPEFACE;
200
235
  exports.CF_UNDERLINE = CF_UNDERLINE;
201
236
  exports.COLOR_INDEX_SRGB = COLOR_INDEX_SRGB;
237
+ exports.COLOR_INDEX_UNDEFINED = COLOR_INDEX_UNDEFINED;
238
+ exports.COLOR_SCHEME_SLOT_COUNT = COLOR_SCHEME_SLOT_COUNT;
202
239
  exports.PF_ALIGN = PF_ALIGN;
203
240
  exports.PF_BULLET_CHAR = PF_BULLET_CHAR;
204
241
  exports.PF_BULLET_COLOR = PF_BULLET_COLOR;
@@ -226,3 +263,4 @@ exports.STYLE_ITALIC = STYLE_ITALIC;
226
263
  exports.STYLE_SHADOW = STYLE_SHADOW;
227
264
  exports.STYLE_UNDERLINE = STYLE_UNDERLINE;
228
265
  exports.readStyleTextPropAtom = readStyleTextPropAtom;
266
+ exports.readTextMasterStyleAtom = readTextMasterStyleAtom;
@@ -49,11 +49,20 @@ declare const STYLE_UNDERLINE: number;
49
49
  declare const STYLE_SHADOW: number;
50
50
  declare const STYLE_EMBOSS: number;
51
51
  declare const COLOR_INDEX_SRGB = 254;
52
+ declare const COLOR_INDEX_UNDEFINED = 255;
53
+ declare const COLOR_SCHEME_SLOT_COUNT = 8;
52
54
  interface RgbColor {
53
55
  readonly red: number;
54
56
  readonly green: number;
55
57
  readonly blue: number;
56
58
  }
59
+ type RunColor = {
60
+ readonly kind: "rgb";
61
+ readonly rgb: RgbColor;
62
+ } | {
63
+ readonly kind: "scheme";
64
+ readonly schemeIndex: number;
65
+ };
57
66
  interface ParagraphProperties {
58
67
  readonly indentLevel: number;
59
68
  readonly alignment: number | undefined;
@@ -73,7 +82,7 @@ interface CharacterProperties {
73
82
  readonly emboss: boolean | undefined;
74
83
  readonly fontRef: number | undefined;
75
84
  readonly sizePt: number | undefined;
76
- readonly color: RgbColor | undefined;
85
+ readonly color: RunColor | undefined;
77
86
  }
78
87
  interface StyleRun<T> {
79
88
  readonly count: number;
@@ -84,5 +93,14 @@ interface StyleTextProps {
84
93
  readonly characterRuns: readonly StyleRun<CharacterProperties>[];
85
94
  }
86
95
  declare function readStyleTextPropAtom(record: PptRecord, characterCount: number): StyleTextProps;
96
+ interface MasterStyleLevel {
97
+ readonly paragraph: ParagraphProperties;
98
+ readonly character: CharacterProperties;
99
+ }
100
+ interface MasterTextStyleAtom {
101
+ readonly textType: number;
102
+ readonly levels: readonly MasterStyleLevel[];
103
+ }
104
+ declare function readTextMasterStyleAtom(record: PptRecord): MasterTextStyleAtom;
87
105
  //#endregion
88
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom };
106
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom };
@@ -49,11 +49,20 @@ declare const STYLE_UNDERLINE: number;
49
49
  declare const STYLE_SHADOW: number;
50
50
  declare const STYLE_EMBOSS: number;
51
51
  declare const COLOR_INDEX_SRGB = 254;
52
+ declare const COLOR_INDEX_UNDEFINED = 255;
53
+ declare const COLOR_SCHEME_SLOT_COUNT = 8;
52
54
  interface RgbColor {
53
55
  readonly red: number;
54
56
  readonly green: number;
55
57
  readonly blue: number;
56
58
  }
59
+ type RunColor = {
60
+ readonly kind: "rgb";
61
+ readonly rgb: RgbColor;
62
+ } | {
63
+ readonly kind: "scheme";
64
+ readonly schemeIndex: number;
65
+ };
57
66
  interface ParagraphProperties {
58
67
  readonly indentLevel: number;
59
68
  readonly alignment: number | undefined;
@@ -73,7 +82,7 @@ interface CharacterProperties {
73
82
  readonly emboss: boolean | undefined;
74
83
  readonly fontRef: number | undefined;
75
84
  readonly sizePt: number | undefined;
76
- readonly color: RgbColor | undefined;
85
+ readonly color: RunColor | undefined;
77
86
  }
78
87
  interface StyleRun<T> {
79
88
  readonly count: number;
@@ -84,5 +93,14 @@ interface StyleTextProps {
84
93
  readonly characterRuns: readonly StyleRun<CharacterProperties>[];
85
94
  }
86
95
  declare function readStyleTextPropAtom(record: PptRecord, characterCount: number): StyleTextProps;
96
+ interface MasterStyleLevel {
97
+ readonly paragraph: ParagraphProperties;
98
+ readonly character: CharacterProperties;
99
+ }
100
+ interface MasterTextStyleAtom {
101
+ readonly textType: number;
102
+ readonly levels: readonly MasterStyleLevel[];
103
+ }
104
+ declare function readTextMasterStyleAtom(record: PptRecord): MasterTextStyleAtom;
87
105
  //#endregion
88
- export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, CharacterProperties, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom };
106
+ export { ALIGN_CENTER, ALIGN_DISTRIBUTED, ALIGN_JUSTIFY, ALIGN_JUSTIFY_LOW, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_THAI_DISTRIBUTED, CF_ANSI_TYPEFACE, CF_BOLD, CF_COLOR, CF_EMBOSS, CF_FEHINT, CF_HAS_STYLE, CF_ITALIC, CF_KUMI, CF_OLD_EA_TYPEFACE, CF_POSITION, CF_SHADOW, CF_SIZE, CF_SYMBOL_TYPEFACE, CF_TYPEFACE, CF_UNDERLINE, COLOR_INDEX_SRGB, COLOR_INDEX_UNDEFINED, COLOR_SCHEME_SLOT_COUNT, CharacterProperties, MasterStyleLevel, MasterTextStyleAtom, PF_ALIGN, PF_BULLET_CHAR, PF_BULLET_COLOR, PF_BULLET_FONT, PF_BULLET_HAS_COLOR, PF_BULLET_HAS_FONT, PF_BULLET_HAS_SIZE, PF_BULLET_SIZE, PF_CHAR_WRAP, PF_DEFAULT_TAB_SIZE, PF_FONT_ALIGN, PF_HAS_BULLET, PF_INDENT, PF_LEFT_MARGIN, PF_LINE_SPACING, PF_OVERFLOW, PF_SPACE_AFTER, PF_SPACE_BEFORE, PF_TAB_STOPS, PF_TEXT_DIRECTION, PF_WORD_WRAP, ParagraphProperties, RgbColor, RunColor, STYLE_BOLD, STYLE_EMBOSS, STYLE_ITALIC, STYLE_SHADOW, STYLE_UNDERLINE, StyleRun, StyleTextProps, readStyleTextPropAtom, readTextMasterStyleAtom };