Use #pragma once in all header files
diff --git a/DocFormats/api/headers/DocFormats/DFError.h b/DocFormats/api/headers/DocFormats/DFError.h
index fb6343f..843e81d 100644
--- a/DocFormats/api/headers/DocFormats/DFError.h
+++ b/DocFormats/api/headers/DocFormats/DFError.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFError_h
-#define DocFormats_DFError_h
+#pragma once
 
 #include <stdarg.h>
 
@@ -28,5 +27,3 @@
 DFError *DFErrorRetain(DFError *error);
 void DFErrorRelease(DFError *error);
 const char *DFErrorMessage(DFError **error);
-
-#endif
diff --git a/DocFormats/api/headers/DocFormats/DFStorage.h b/DocFormats/api/headers/DocFormats/DFStorage.h
index 2c27293..6cb169d 100644
--- a/DocFormats/api/headers/DocFormats/DFStorage.h
+++ b/DocFormats/api/headers/DocFormats/DFStorage.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFStorage_h
-#define DocFormats_DFStorage_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/Formats.h>
@@ -38,5 +37,3 @@
 int DFStorageExists(DFStorage *storage, const char *path);
 int DFStorageDelete(DFStorage *storage, const char *path, DFError **error);
 const char **DFStorageList(DFStorage *storage, DFError **error);
-
-#endif
diff --git a/DocFormats/api/headers/DocFormats/DFXMLForward.h b/DocFormats/api/headers/DocFormats/DFXMLForward.h
index 6a2a740..6ae6c06 100644
--- a/DocFormats/api/headers/DocFormats/DFXMLForward.h
+++ b/DocFormats/api/headers/DocFormats/DFXMLForward.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFXMLForward_h
-#define DocFormats_DFXMLForward_h
+#pragma once
 
 /** This class is described in DFDOM.h */
 typedef struct DFNode DFNode;
 
 /** This class is described in DFDOM.h */
 typedef struct DFDocument DFDocument;
-
-#endif
diff --git a/DocFormats/api/headers/DocFormats/DocFormats.h b/DocFormats/api/headers/DocFormats/DocFormats.h
index f5c3472..fac71e1 100644
--- a/DocFormats/api/headers/DocFormats/DocFormats.h
+++ b/DocFormats/api/headers/DocFormats/DocFormats.h
@@ -15,6 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#pragma once
+
 #include <DocFormats/Operations.h>
 #include <DocFormats/Formats.h>
 #include <DocFormats/DFStorage.h>
diff --git a/DocFormats/api/headers/DocFormats/Formats.h b/DocFormats/api/headers/DocFormats/Formats.h
index 49c8aee..4701d3b 100644
--- a/DocFormats/api/headers/DocFormats/Formats.h
+++ b/DocFormats/api/headers/DocFormats/Formats.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_Formats_h
-#define DocFormats_Formats_h
+#pragma once
 
 typedef enum {
     DFFileFormatUnknown  = 0,
@@ -37,5 +36,3 @@
 DFFileFormat DFFileFormatFromFilename(const char *filename);
 DFFileFormat DFFileFormatFromExtension(const char *ext);
 const char *DFFileFormatToExtension(DFFileFormat format);
-
-#endif
diff --git a/DocFormats/api/headers/DocFormats/Operations.h b/DocFormats/api/headers/DocFormats/Operations.h
index 1bb6ee2..8d8c355 100644
--- a/DocFormats/api/headers/DocFormats/Operations.h
+++ b/DocFormats/api/headers/DocFormats/Operations.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_Operations_h
-#define DocFormats_Operations_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
@@ -48,5 +47,3 @@
 int DFGetFile(const char *concrete, const char *abstract, DFError **error);
 int DFPutFile(const char *concrete, const char *abstract, DFError **error);
 int DFCreateFile(const char *concrete, const char *abstract, DFError **error);
-
-#endif
diff --git a/DocFormats/core/src/common/DFBDT.h b/DocFormats/core/src/common/DFBDT.h
index 7393dae..3e8df71 100644
--- a/DocFormats/core/src/common/DFBDT.h
+++ b/DocFormats/core/src/common/DFBDT.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFBDT_h
-#define DocFormats_DFBDT_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 
@@ -56,5 +55,3 @@
 DFNode *BDTContainerGet(void *ctx, DFLens *theLens, DFNode *abstract, DFNode *concrete);
 void BDTContainerPut(void *ctx, DFLens *theLens, DFNode *abstract, DFNode *concrete,
                      DFLookupConcreteFunction lookupConcrete);
-
-#endif
diff --git a/DocFormats/core/src/common/DFClassNames.h b/DocFormats/core/src/common/DFClassNames.h
index 7cd07e1..a3c3d0a 100644
--- a/DocFormats/core/src/common/DFClassNames.h
+++ b/DocFormats/core/src/common/DFClassNames.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFClassNames_h
-#define DocFormats_DFClassNames_h
+#pragma once
 
 #define DFTableOfContentsClass  "tableofcontents"
 #define DFListOfFiguresClass    "listoffigures"
@@ -35,5 +34,3 @@
 #define DFPlaceholderClass      "uxwrite-placeholder"
 
 #define DFNbspChar              160
-
-#endif
diff --git a/DocFormats/core/src/common/DFTable.h b/DocFormats/core/src/common/DFTable.h
index fff4f06..465e89e 100644
--- a/DocFormats/core/src/common/DFTable.h
+++ b/DocFormats/core/src/common/DFTable.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFTable_h
-#define DocFormats_DFTable_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "DFTypes.h"
@@ -81,5 +80,3 @@
 double DFTablePctWidthForCol(DFTable *table, unsigned int col);
 void DFTableSetColWidth(DFTable *table, unsigned int col, double width);
 void DFTableFixZeroWidthCols(DFTable *table);
-
-#endif
diff --git a/DocFormats/core/src/css/CSS.h b/DocFormats/core/src/css/CSS.h
index ccd64e1..459b35f 100644
--- a/DocFormats/core/src/css/CSS.h
+++ b/DocFormats/core/src/css/CSS.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSS_h
-#define DocFormats_CSS_h
+#pragma once
 
 #include "CSSProperties.h"
 #include "DFHashTable.h"
@@ -113,5 +112,3 @@
 char *CSSEscapeIdent(const char *unescaped);
 char *CSSUnescapeIdent(const char *escaped);
 void CSSParseSelector(const char *input, char **result, char **suffix);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSLength.h b/DocFormats/core/src/css/CSSLength.h
index fb4eb50..f0856ef 100644
--- a/DocFormats/core/src/css/CSSLength.h
+++ b/DocFormats/core/src/css/CSSLength.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSLength_h
-#define DocFormats_CSSLength_h
+#pragma once
 
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 //                                                                                                //
@@ -63,5 +62,3 @@
 
 double CSSLengthToAbsolute(CSSLength length, double total, double valueUnits);
 double CSSLengthToPts(CSSLength length, double total);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSParser.h b/DocFormats/core/src/css/CSSParser.h
index d1adf5c..af702bc 100644
--- a/DocFormats/core/src/css/CSSParser.h
+++ b/DocFormats/core/src/css/CSSParser.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSParser_h
-#define DocFormats_CSSParser_h
+#pragma once
 
 #include "DFHashTable.h"
 #include "DFArray.h"
@@ -36,5 +35,3 @@
 DFArray *CSSParserSelectors(CSSParser *p);
 DFHashTable *CSSParserProperties(CSSParser *p);
 DFArray *CSSParserContent(CSSParser *p);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSProperties.h b/DocFormats/core/src/css/CSSProperties.h
index 0ea4eab..e42fb29 100644
--- a/DocFormats/core/src/css/CSSProperties.h
+++ b/DocFormats/core/src/css/CSSProperties.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSProperties_h
-#define DocFormats_CSSProperties_h
+#pragma once
 
 /** @file
 
@@ -119,5 +118,3 @@
 
 CSSProperties *CSSPropertiesRetain(CSSProperties *properties);
 void CSSPropertiesRelease(CSSProperties *properties);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSSelector.h b/DocFormats/core/src/css/CSSSelector.h
index 4151c41..e5e18af 100644
--- a/DocFormats/core/src/css/CSSSelector.h
+++ b/DocFormats/core/src/css/CSSSelector.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSSelector_h
-#define DocFormats_CSSSelector_h
+#pragma once
 
 #include "DFXMLNames.h"
 #include <DocFormats/DFXMLForward.h>
@@ -56,5 +55,3 @@
 int CSSSelectorHeadingLevel(const char *selector); // 0 for all non-heading styles, 1-6 otherwise
 int CSSSelectorIsHeading(const char *selector);
 StyleFamily CSSSelectorFamily(const char *selector);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSSheet.h b/DocFormats/core/src/css/CSSSheet.h
index 1ff03e8..bfa604b 100644
--- a/DocFormats/core/src/css/CSSSheet.h
+++ b/DocFormats/core/src/css/CSSSheet.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSSheet_h
-#define DocFormats_CSSSheet_h
+#pragma once
 
 /** \file
 
@@ -253,5 +252,3 @@
  */
 CSSStyle *CSSSheetParentOfStyle(CSSSheet *sheet, CSSStyle *style);
 int CSSIsBuiltinSelector(const char *selector);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSStyle.h b/DocFormats/core/src/css/CSSStyle.h
index ae1ff4e..44dc2e7 100644
--- a/DocFormats/core/src/css/CSSStyle.h
+++ b/DocFormats/core/src/css/CSSStyle.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSStyle_h
-#define DocFormats_CSSStyle_h
+#pragma once
 
 /**
 
@@ -260,5 +259,3 @@
 void CSSStyleAddDefaultHTMLProperties(CSSStyle *style);
 
 void CSSStylePrint(CSSStyle *style, const char *indent);
-
-#endif
diff --git a/DocFormats/core/src/css/CSSSyntax.h b/DocFormats/core/src/css/CSSSyntax.h
index 945f118..5386c6d 100644
--- a/DocFormats/core/src/css/CSSSyntax.h
+++ b/DocFormats/core/src/css/CSSSyntax.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSSyntax_h
-#define DocFormats_CSSSyntax_h
+#pragma once
 
 int CSSValueIsNumber(const char *str);
 int CSSValueIsLength(const char *str);
@@ -24,5 +23,3 @@
 int CSSValueIsBorderStyle(const char *str);
 int CSSValueIsBorderWidth(const char *str);
 int CSSValueIsBorderColor(const char *str);
-
-#endif
diff --git a/DocFormats/core/src/html/DFHTDocument.h b/DocFormats/core/src/html/DFHTDocument.h
index c5aac49..8592941 100644
--- a/DocFormats/core/src/html/DFHTDocument.h
+++ b/DocFormats/core/src/html/DFHTDocument.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFHTDocument_h
-#define DocFormats_DFHTDocument_h
+#pragma once
 
 #include "tidy.h"
 #include "buffio.h"
@@ -40,5 +39,3 @@
 void DFHTDocumentFree(DFHTDocument *htd);
 int DFHTDocumentParseCString(DFHTDocument *htd, const char *str, DFError **error);
 void DFHTDocumentRemoveUXWriteSpecial(DFHTDocument *htd);
-
-#endif
diff --git a/DocFormats/core/src/html/DFHTML.h b/DocFormats/core/src/html/DFHTML.h
index 81c9592..39634da 100644
--- a/DocFormats/core/src/html/DFHTML.h
+++ b/DocFormats/core/src/html/DFHTML.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFHTML_h
-#define DocFormats_DFHTML_h
+#pragma once
 
 #include "DFXMLNames.h"
 #include "CSSSheet.h"
@@ -57,5 +56,3 @@
 DFDocument *DFParseHTMLString(const char *str, int removeSpecial, DFError **error);
 DFDocument *DFParseHTMLFile(const char *filename, int removeSpecial, DFError **error);
 const char **DFHTMLGetImages(DFDocument *htmlDoc);
-
-#endif
diff --git a/DocFormats/core/src/html/DFHTMLNormalization.h b/DocFormats/core/src/html/DFHTMLNormalization.h
index 2565fa4..204d2ab 100644
--- a/DocFormats/core/src/html/DFHTMLNormalization.h
+++ b/DocFormats/core/src/html/DFHTMLNormalization.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFHTMLNormalization_h
-#define DocFormats_DFHTMLNormalization_h
+#pragma once
 
 #include "DFXMLNames.h"
 #include <DocFormats/DFXMLForward.h>
@@ -24,5 +23,3 @@
 void HTML_normalizeDocument(DFDocument *doc);
 
 void HTML_pushDownInlineProperties(DFNode *node);
-
-#endif
diff --git a/DocFormats/core/src/html/DFHTMLTables.h b/DocFormats/core/src/html/DFHTMLTables.h
index 18bfda3..01b4dd6 100644
--- a/DocFormats/core/src/html/DFHTMLTables.h
+++ b/DocFormats/core/src/html/DFHTMLTables.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFHTMLTables_h
-#define DocFormats_DFHTMLTables_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "DFTable.h"
 
 DFTable *HTML_tableStructure(DFNode *table);
 DFNode *HTML_createColgroup(DFDocument *doc, DFTable *structure);
-
-#endif
diff --git a/DocFormats/core/src/html/DFTidyHelper.h b/DocFormats/core/src/html/DFTidyHelper.h
index df5075c..ad08cc1 100644
--- a/DocFormats/core/src/html/DFTidyHelper.h
+++ b/DocFormats/core/src/html/DFTidyHelper.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFTidyHelper_h
-#define DocFormats_DFTidyHelper_h
+#pragma once
 
 #include "DFDOM.h"
 #include "tidy.h"
 
 char *copyTidyNodeValue(TidyNode tnode, TidyDoc tdoc);
 DFNode *fromTidyNode(DFDocument *htmlDoc, TidyDoc tdoc, TidyNode tnode);
-
-#endif
diff --git a/DocFormats/core/src/html/DFTidyWrapper.h b/DocFormats/core/src/html/DFTidyWrapper.h
index 4cb6cfb..6886503 100644
--- a/DocFormats/core/src/html/DFTidyWrapper.h
+++ b/DocFormats/core/src/html/DFTidyWrapper.h
@@ -15,11 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFTidyWrapper_h
-#define DocFormats_DFTidyWrapper_h
+#pragma once
 
 #include "DFBuffer.h"
 
 int DFHTMLTidy(DFBuffer *input, DFBuffer *output, int xHTML, DFError **error);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFAllocator.h b/DocFormats/core/src/lib/DFAllocator.h
index d95cf5d..68dce89 100644
--- a/DocFormats/core/src/lib/DFAllocator.h
+++ b/DocFormats/core/src/lib/DFAllocator.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFAllocator_h
-#define DocFormats_DFAllocator_h
+#pragma once
 
 #include "DFTypes.h"
 
@@ -25,5 +24,3 @@
 DFAllocator *DFAllocatorNew(void);
 void DFAllocatorFree(DFAllocator *alc);
 void *DFAllocatorAlloc(DFAllocator *alc, size_t size);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFArray.h b/DocFormats/core/src/lib/DFArray.h
index 7996c5e..3fbe15c 100644
--- a/DocFormats/core/src/lib/DFArray.h
+++ b/DocFormats/core/src/lib/DFArray.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFArray_h
-#define DocFormats_DFArray_h
+#pragma once
 
 #include "DFHashTable.h"
 #include "DFTypes.h"
@@ -34,5 +33,3 @@
 void DFArraySort(DFArray *array, void *thunk, int (*compar)(void *, const void *, const void *));
 
 void DFSort(void *base, size_t nel, size_t width, void *thunk, int (*compar)(void *, const void *, const void *));
-
-#endif
diff --git a/DocFormats/core/src/lib/DFBuffer.h b/DocFormats/core/src/lib/DFBuffer.h
index 08aa204..f80adc6 100644
--- a/DocFormats/core/src/lib/DFBuffer.h
+++ b/DocFormats/core/src/lib/DFBuffer.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFBuffer_h
-#define DocFormats_DFBuffer_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include "DFTypes.h"
@@ -56,5 +55,3 @@
 
 char *binaryToString(DFBuffer *input);
 DFBuffer *stringToBinary(const char *str);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFCallback.h b/DocFormats/core/src/lib/DFCallback.h
index bf72a31..886a407 100644
--- a/DocFormats/core/src/lib/DFCallback.h
+++ b/DocFormats/core/src/lib/DFCallback.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFCallback_h
-#define DocFormats_DFCallback_h
+#pragma once
 
 typedef void (*DFCallbackFunction)(void *ctx, void *object, void *data);
 
@@ -31,5 +30,3 @@
 void DFCallbackAdd(DFCallback **list, DFCallbackFunction fun, void *ctx);
 void DFCallbackRemove(DFCallback **list, DFCallbackFunction fun, void *ctx);
 void DFCallbackInvoke(DFCallback *list, void *object, void *data);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFCharacterSet.h b/DocFormats/core/src/lib/DFCharacterSet.h
index a0e92f5..6968e92 100644
--- a/DocFormats/core/src/lib/DFCharacterSet.h
+++ b/DocFormats/core/src/lib/DFCharacterSet.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFCharacterSet_h
-#define DocFormats_DFCharacterSet_h
+#pragma once
 
 #include "DFTypes.h"
 
@@ -25,5 +24,3 @@
 int DFCharIsNewline(uint32_t ch);
 int DFCharIsWhitespaceOrNewline(uint32_t ch);
 int DFCharIsPunctuation(uint32_t ch);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFFilesystem.h b/DocFormats/core/src/lib/DFFilesystem.h
index 3754dd7..82e6feb 100644
--- a/DocFormats/core/src/lib/DFFilesystem.h
+++ b/DocFormats/core/src/lib/DFFilesystem.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFUtil_h
-#define DocFormats_DFUtil_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include "DFHashTable.h"
@@ -37,4 +36,3 @@
 char *DFPathResolveAbsolute(const char *base, const char *relative);
 char *DFPathNormalize(const char *path);
 char *DFRemovePercentEncoding(const char *encoded);
-#endif
diff --git a/DocFormats/core/src/lib/DFHashTable.h b/DocFormats/core/src/lib/DFHashTable.h
index 89c8403..00dba1a 100644
--- a/DocFormats/core/src/lib/DFHashTable.h
+++ b/DocFormats/core/src/lib/DFHashTable.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFHashTable_h
-#define DocFormats_DFHashTable_h
+#pragma once
 
 #include "DFTypes.h"
 
@@ -56,5 +55,3 @@
 void *DFHashTableLookupInt(DFHashTable *table, int key);
 void DFHashTableAddInt(DFHashTable *table, int key, void *value);
 void DFHashTableRemoveInt(DFHashTable *table, int key);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFString.h b/DocFormats/core/src/lib/DFString.h
index 75856c2..8043fe2 100644
--- a/DocFormats/core/src/lib/DFString.h
+++ b/DocFormats/core/src/lib/DFString.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFString_h
-#define DocFormats_DFString_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include "DFArray.h"
@@ -65,5 +64,3 @@
 size_t DFUTF32Length(const uint32_t *str);
 uint32_t *DFUTF8To32(const char *utf8);
 char *DFUTF32to8(const uint32_t *utf32);
-
-#endif
diff --git a/DocFormats/core/src/lib/DFZipFile.h b/DocFormats/core/src/lib/DFZipFile.h
index 10fe461..0c0a9bc 100644
--- a/DocFormats/core/src/lib/DFZipFile.h
+++ b/DocFormats/core/src/lib/DFZipFile.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFZipFile_h
-#define DocFormats_DFZipFile_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
 
 int DFUnzip(const char *zipFilename, DFStorage *storage, DFError **error);
 int DFZip(const char *zipFilename, DFStorage *storage, DFError **error);
-
-#endif
diff --git a/DocFormats/core/src/lib/TextPackage.h b/DocFormats/core/src/lib/TextPackage.h
index 2edb3d6..e2b7874 100644
--- a/DocFormats/core/src/lib/TextPackage.h
+++ b/DocFormats/core/src/lib/TextPackage.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_TextPackage_h
-#define dfutil_TextPackage_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include "DFHashTable.h"
@@ -40,5 +39,3 @@
 TextPackage *TextPackageNewWithString(const char *string, const char *path, DFError **error);
 TextPackage *TextPackageRetain(TextPackage *package);
 void TextPackageRelease(TextPackage *package);
-
-#endif
diff --git a/DocFormats/core/src/xml/DFChanges.h b/DocFormats/core/src/xml/DFChanges.h
index 939c352..ed28e77 100644
--- a/DocFormats/core/src/xml/DFChanges.h
+++ b/DocFormats/core/src/xml/DFChanges.h
@@ -15,12 +15,9 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_DFChanges_h
-#define dfutil_DFChanges_h
+#pragma once
 
 #include "DFDOM.h"
 
 void DFComputeChanges(DFNode *root1, DFNode *root2, Tag idAttr);
 char *DFChangesToString(DFNode *root);
-
-#endif
diff --git a/DocFormats/core/src/xml/DFDOM.h b/DocFormats/core/src/xml/DFDOM.h
index 44e81fe..ae14d93 100644
--- a/DocFormats/core/src/xml/DFDOM.h
+++ b/DocFormats/core/src/xml/DFDOM.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFDOM_h
-#define DocFormats_DFDOM_h
+#pragma once
 
 /** \file
 
@@ -238,5 +237,3 @@
 int DFIsWhitespaceNode(DFNode *node);
 int identicalAttributesExcept(DFNode *first, DFNode *second, Tag except);
 void DFStripWhitespace(DFNode *node);
-
-#endif
diff --git a/DocFormats/core/src/xml/DFMarkupCompatibility.h b/DocFormats/core/src/xml/DFMarkupCompatibility.h
index c8a5273..ebad5fe 100644
--- a/DocFormats/core/src/xml/DFMarkupCompatibility.h
+++ b/DocFormats/core/src/xml/DFMarkupCompatibility.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFMarkupCompatibility_h
-#define DocFormats_DFMarkupCompatibility_h
+#pragma once
 
 #include "DFXMLNamespaces.h"
 #include "DFXMLNames.h"
@@ -43,5 +42,3 @@
 void DFMarkupCompatibilityPop(DFMarkupCompatibility *mc);
 MCAction DFMarkupCompatibilityLookup(DFMarkupCompatibility *mc, NamespaceID nsId, Tag tag, int isElement);
 void DFMarkupCompatibilityProcessAttr(DFMarkupCompatibility *mc, Tag attr, const char *value, DFNameMap *map);
-
-#endif
diff --git a/DocFormats/core/src/xml/DFNameMap.h b/DocFormats/core/src/xml/DFNameMap.h
index 1a8c76b..94f166b 100644
--- a/DocFormats/core/src/xml/DFNameMap.h
+++ b/DocFormats/core/src/xml/DFNameMap.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFNameMap_h
-#define DocFormats_DFNameMap_h
+#pragma once
 
 #include "DFXMLNamespaces.h"
 #include "DFXMLNames.h"
@@ -42,5 +41,3 @@
 
 const TagDecl *DFBuiltinMapNameForTag(Tag tag);
 Tag DFBuiltinMapTagForName(const char *URI, const char *localName);
-
-#endif
diff --git a/DocFormats/core/src/xml/DFXML.h b/DocFormats/core/src/xml/DFXML.h
index a36c638..8f3c45a 100644
--- a/DocFormats/core/src/xml/DFXML.h
+++ b/DocFormats/core/src/xml/DFXML.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFXML_h
-#define DocFormats_DFXML_h
+#pragma once
 
 #include "DFXMLNamespaces.h"
 #include "DFXMLNames.h"
@@ -35,5 +34,3 @@
 int DFSerializeXMLStorage(DFDocument *doc, NamespaceID defaultNS, int indent,
                           DFStorage *storage, const char *filename,
                           DFError **error);
-
-#endif
diff --git a/DocFormats/core/tests/common/BDTTests.h b/DocFormats/core/tests/common/BDTTests.h
index 7e1b63a..50f09a6 100644
--- a/DocFormats/core/tests/common/BDTTests.h
+++ b/DocFormats/core/tests/common/BDTTests.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_BDTTest_h
-#define dfutil_BDTTest_h
+#pragma once
 
 #include "DFBuffer.h"
 
 void BDT_testMove(int count, int from, int to, DFBuffer *output);
 void BDT_testRemove(int *indices, int count, DFBuffer *output);
 int BDT_Test(int argc, const char **argv);
-
-#endif
diff --git a/DocFormats/core/tests/html/HTMLPlain.h b/DocFormats/core/tests/html/HTMLPlain.h
index 8d32917..e759c3d 100644
--- a/DocFormats/core/tests/html/HTMLPlain.h
+++ b/DocFormats/core/tests/html/HTMLPlain.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_HTMLPlain_h
-#define DocFormats_HTMLPlain_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
@@ -27,5 +26,3 @@
 DFDocument *HTML_fromPlain(const char *plain, const char *path, DFStorage *htmlStorage, DFError **error);
 
 DFDocument *TestCaseGetHTML(DFStorage *storage, DFError **error);
-
-#endif
diff --git a/DocFormats/filters/latex/src/HTMLToLaTeX.h b/DocFormats/filters/latex/src/HTMLToLaTeX.h
index e0faa2e..cb35c36 100644
--- a/DocFormats/filters/latex/src/HTMLToLaTeX.h
+++ b/DocFormats/filters/latex/src/HTMLToLaTeX.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_HTMLToLaTeX_h
-#define DocFormats_HTMLToLaTeX_h
+#pragma once
 
 #include "DFDOM.h"
 
 // Note: HTML document must be normalized first
 
 char *HTMLToLaTeX(DFDocument *htmlDoc);
-
-#endif
diff --git a/DocFormats/filters/odf/src/ODF.h b/DocFormats/filters/odf/src/ODF.h
index b9afb52..d34d3c5 100644
--- a/DocFormats/filters/odf/src/ODF.h
+++ b/DocFormats/filters/odf/src/ODF.h
@@ -15,9 +15,6 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_ODF_h
-#define DocFormats_ODF_h
+#pragma once
 
 #include "ODFPackage.h"
-
-#endif
diff --git a/DocFormats/filters/odf/src/ODFManifest.h b/DocFormats/filters/odf/src/ODFManifest.h
index 45eb903..9a57e1f 100644
--- a/DocFormats/filters/odf/src/ODFManifest.h
+++ b/DocFormats/filters/odf/src/ODFManifest.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_ODFManifest_h
-#define DocFormats_ODFManifest_h
+#pragma once
 
 #include "DFDOM.h"
 #include "DFHashTable.h"
@@ -83,5 +82,3 @@
 
 void ODFManifestAddEntry(ODFManifest *manifest, const char *path, const char *mediaType,
                          const char *version);
-
-#endif
diff --git a/DocFormats/filters/odf/src/ODFPackage.h b/DocFormats/filters/odf/src/ODFPackage.h
index e56ebc2..f30d5ca 100644
--- a/DocFormats/filters/odf/src/ODFPackage.h
+++ b/DocFormats/filters/odf/src/ODFPackage.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_ODFPackage_h
-#define DocFormats_ODFPackage_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include <DocFormats/DFError.h>
@@ -42,5 +41,3 @@
 ODFPackage *ODFPackageRetain(ODFPackage *package);
 void ODFPackageRelease(ODFPackage *package);
 int ODFPackageSave(ODFPackage *package, DFError **error);
-
-#endif
diff --git a/DocFormats/filters/odf/src/ODFSheet.h b/DocFormats/filters/odf/src/ODFSheet.h
index eee9697..72e95e7 100644
--- a/DocFormats/filters/odf/src/ODFSheet.h
+++ b/DocFormats/filters/odf/src/ODFSheet.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_ODFSheet_h
-#define DocFormats_ODFSheet_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "DFTypes.h"
@@ -51,5 +50,3 @@
 ODFSheet *ODFSheetRetain(ODFSheet *sheet);
 void ODFSheetRelease(ODFSheet *sheet);
 ODFStyle *ODFSheetStyleForSelector(ODFSheet *sheet, const char *selector);
-
-#endif
diff --git a/DocFormats/filters/odf/src/text/ODFText.h b/DocFormats/filters/odf/src/text/ODFText.h
index 70486ab..996d930 100644
--- a/DocFormats/filters/odf/src/text/ODFText.h
+++ b/DocFormats/filters/odf/src/text/ODFText.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_ODFText_h
-#define DocFormats_ODFText_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
@@ -25,5 +24,3 @@
 DFDocument *ODFTextGet(DFStorage *concreteStorage, DFStorage *abstractStorage, const char *idPrefix, DFError **error);
 int ODFTextPut(DFStorage *concreteStorage, DFStorage *abstractStorage, DFDocument *htmlDoc, const char *idPrefix, DFError **error);
 int ODFTextCreate(DFStorage *concreteStorage, DFStorage *abstractStorage, DFDocument *htmlDoc, DFError **error);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/common/OOXMLTypedefs.h b/DocFormats/filters/ooxml/src/common/OOXMLTypedefs.h
index 61d8cbb..1dd540f 100644
--- a/DocFormats/filters/ooxml/src/common/OOXMLTypedefs.h
+++ b/DocFormats/filters/ooxml/src/common/OOXMLTypedefs.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_OOXMLTypedefs_h
-#define DocFormats_OOXMLTypedefs_h
+#pragma once
 
 // word/OPC.h
 typedef struct OPCRelationship OPCRelationship;
@@ -69,5 +68,3 @@
 
 // word/lenses/WordLenses.h
 typedef struct WordLens WordLens;
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/common/OPC.h b/DocFormats/filters/ooxml/src/common/OPC.h
index 4f8d1bf..7d1e116 100644
--- a/DocFormats/filters/ooxml/src/common/OPC.h
+++ b/DocFormats/filters/ooxml/src/common/OPC.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_OPC_h
-#define DocFormats_OPC_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include <DocFormats/DFError.h>
@@ -124,5 +123,3 @@
 int OPCPackageWritePart(OPCPackage *pkg, const char *data, size_t len, OPCPart *part, DFError **error);
 int OPCPackageDeletePart(OPCPackage *pkg, OPCPart *part, DFError **error);
 void OPCPackageReadRelationships(OPCPackage *pkg, OPCRelationshipSet *rels, const char *partURI, DFDocument *relDoc);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/CSSClassNames.h b/DocFormats/filters/ooxml/src/word/CSSClassNames.h
index b4a5b2b..5e61d65 100644
--- a/DocFormats/filters/ooxml/src/word/CSSClassNames.h
+++ b/DocFormats/filters/ooxml/src/word/CSSClassNames.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_CSSClassNames_h
-#define DocFormats_CSSClassNames_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "CSSSheet.h"
@@ -24,5 +23,3 @@
 void CSSEnsureReferencedStylesPresent(DFDocument *htmlDoc, CSSSheet *styleSheet);
 void CSSSetHTMLDefaults(CSSSheet *styleSheet);
 void CSSEnsureUnique(CSSSheet *styleSheet, DFDocument *htmlDoc, int creating);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/Word.h b/DocFormats/filters/ooxml/src/word/Word.h
index 98d05e4..3364f57 100644
--- a/DocFormats/filters/ooxml/src/word/Word.h
+++ b/DocFormats/filters/ooxml/src/word/Word.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_Word_h
-#define DocFormats_Word_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
@@ -35,5 +34,3 @@
 int WordCreate(DFStorage *concreteStorage, DFStorage *abstractStorage, DFDocument *htmlDoc, DFError **error);
 int WordCollapseBookmarks(DFStorage *concreteStorage, DFError **error);
 int WordExpandBookmarks(DFStorage *concreteStorage, DFError **error);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordCaption.h b/DocFormats/filters/ooxml/src/word/WordCaption.h
index 8616a85..208daa8 100644
--- a/DocFormats/filters/ooxml/src/word/WordCaption.h
+++ b/DocFormats/filters/ooxml/src/word/WordCaption.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordCaption_h
-#define DocFormats_WordCaption_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "DFTypes.h"
@@ -41,5 +40,3 @@
 WordCaption *WordCaptionNew(DFNode *element);
 WordCaption *WordCaptionRetain(WordCaption *caption);
 void WordCaptionRelease(WordCaption *caption);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordConverter.h b/DocFormats/filters/ooxml/src/word/WordConverter.h
index e255ad2..845fd19 100644
--- a/DocFormats/filters/ooxml/src/word/WordConverter.h
+++ b/DocFormats/filters/ooxml/src/word/WordConverter.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordConverter_h
-#define DocFormats_WordConverter_h
+#pragma once
 
 #include "WordPackage.h"
 #include "DFXMLNames.h"
@@ -113,5 +112,3 @@
 
 void childrenToArray(DFNode *node, DFNode **children);
 void replaceChildrenFromArray(DFNode *node, DFNode **children, Tag *tags);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordGC.h b/DocFormats/filters/ooxml/src/word/WordGC.h
index 246c0a6..a5c6c9e 100644
--- a/DocFormats/filters/ooxml/src/word/WordGC.h
+++ b/DocFormats/filters/ooxml/src/word/WordGC.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordGC_h
-#define DocFormats_WordGC_h
+#pragma once
 
 #include "WordPackage.h"
 
@@ -27,5 +26,3 @@
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 void WordGarbageCollect(WordPackage *package);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordLists.h b/DocFormats/filters/ooxml/src/word/WordLists.h
index 9c146c3..284a163 100644
--- a/DocFormats/filters/ooxml/src/word/WordLists.h
+++ b/DocFormats/filters/ooxml/src/word/WordLists.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordLists_h
-#define DocFormats_WordLists_h
+#pragma once
 
 struct WordConverter;
 
@@ -31,5 +30,3 @@
 void WordPostProcessHTMLLists(struct WordConverter *conv);
 void WordPreProcessHTMLLists(struct WordConverter *conv);
 void WordFixLists(struct WordConverter *conv);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordNotes.h b/DocFormats/filters/ooxml/src/word/WordNotes.h
index ddeb106..7556546 100644
--- a/DocFormats/filters/ooxml/src/word/WordNotes.h
+++ b/DocFormats/filters/ooxml/src/word/WordNotes.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordNotes_h
-#define DocFormats_WordNotes_h
+#pragma once
 
 #include "DFDOM.h"
 #include "DFHashTable.h"
@@ -93,5 +92,3 @@
 WordNote *WordNoteGroupGet(WordNoteGroup *group, int noteId);
 WordNote *WordNoteGroupAddNew(WordNoteGroup *group);
 void WordNoteGroupRemove(WordNoteGroup *group, int noteId);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordNumbering.h b/DocFormats/filters/ooxml/src/word/WordNumbering.h
index cc38b58..87db104 100644
--- a/DocFormats/filters/ooxml/src/word/WordNumbering.h
+++ b/DocFormats/filters/ooxml/src/word/WordNumbering.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordNumbering_h
-#define DocFormats_WordNumbering_h
+#pragma once
 
 #include "WordConverter.h"
 #include <DocFormats/DFXMLForward.h>
@@ -84,5 +83,3 @@
 WordConcreteNum *WordNumberingAddConcreteWithAbstract(WordNumbering *num, WordAbstractNum *abstractNum);
 void WordNumberingRemoveConcrete(WordNumbering *num, WordConcreteNum *concrete);
 void WordNumberingRemoveUnusedAbstractNums(WordNumbering *num);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordObjects.h b/DocFormats/filters/ooxml/src/word/WordObjects.h
index 6844bb3..053020a 100644
--- a/DocFormats/filters/ooxml/src/word/WordObjects.h
+++ b/DocFormats/filters/ooxml/src/word/WordObjects.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordObjects_h
-#define DocFormats_WordObjects_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "WordSheet.h"
@@ -48,5 +47,3 @@
 
 struct WordCaption *WordObjectsCaptionForTarget(WordObjects *objects, DFNode *target);
 void WordObjectsSetCaption(WordObjects *objects, struct WordCaption *caption, DFNode *target);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordPackage.h b/DocFormats/filters/ooxml/src/word/WordPackage.h
index df318ef..176fffd 100644
--- a/DocFormats/filters/ooxml/src/word/WordPackage.h
+++ b/DocFormats/filters/ooxml/src/word/WordPackage.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordPackage_h
-#define DocFormats_WordPackage_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "OPC.h"
@@ -61,5 +60,3 @@
 WordPackage *WordPackageOpenNew(DFStorage *storage, DFError **error);
 WordPackage *WordPackageOpenFrom(DFStorage *storage, DFError **error);
 int WordPackageSave(WordPackage *package, DFError **error);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordSection.h b/DocFormats/filters/ooxml/src/word/WordSection.h
index 0cbffa5..f9861c5 100644
--- a/DocFormats/filters/ooxml/src/word/WordSection.h
+++ b/DocFormats/filters/ooxml/src/word/WordSection.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordSection_h
-#define DocFormats_WordSection_h
+#pragma once
 
 #include "CSSProperties.h"
 #include "OOXMLTypedefs.h"
@@ -46,5 +45,3 @@
 double WordSectionContentHeightPts(WordSection *section);
 
 void WordSectionUpdateFromCSSPage(WordSection *section, CSSProperties *page, CSSProperties *body);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordSettings.h b/DocFormats/filters/ooxml/src/word/WordSettings.h
index 059aa96..2acdf50 100644
--- a/DocFormats/filters/ooxml/src/word/WordSettings.h
+++ b/DocFormats/filters/ooxml/src/word/WordSettings.h
@@ -15,11 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordSettings_h
-#define DocFormats_WordSettings_h
+#pragma once
 
 #include "WordPackage.h"
 
 void Word_updateSettings(WordPackage *package, int updateFields);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordSheet.h b/DocFormats/filters/ooxml/src/word/WordSheet.h
index da6a8ce..c0e70ee 100644
--- a/DocFormats/filters/ooxml/src/word/WordSheet.h
+++ b/DocFormats/filters/ooxml/src/word/WordSheet.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordSheet_h
-#define DocFormats_WordSheet_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "DFHashTable.h"
@@ -69,5 +68,3 @@
 WordStyle *WordSheetFootnoteText(WordSheet *sheet);
 WordStyle *WordSheetEndnoteReference(WordSheet *sheet);
 WordStyle *WordSheetEndnoteText(WordSheet *sheet);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordStyles.h b/DocFormats/filters/ooxml/src/word/WordStyles.h
index 19370b7..5e003d5 100644
--- a/DocFormats/filters/ooxml/src/word/WordStyles.h
+++ b/DocFormats/filters/ooxml/src/word/WordStyles.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordStyles_h
-#define DocFormats_WordStyles_h
+#pragma once
 
 #include "WordCommonPr.h"
 #include "WordNumPr.h"
@@ -26,5 +25,3 @@
 
 CSSSheet *WordParseStyles(WordConverter *converter);
 void WordUpdateStyles(WordConverter *converter, CSSSheet *styleSheet);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordTheme.h b/DocFormats/filters/ooxml/src/word/WordTheme.h
index 96378f7..7c3f83e 100644
--- a/DocFormats/filters/ooxml/src/word/WordTheme.h
+++ b/DocFormats/filters/ooxml/src/word/WordTheme.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordTheme_h
-#define DocFormats_WordTheme_h
+#pragma once
 
 #include "WordPackage.h"
 #include "OOXMLTypedefs.h"
@@ -34,5 +33,3 @@
 
 WordTheme *WordThemeNew(WordPackage *package);
 void WordThemeFree(WordTheme *theme);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/WordWhitespace.h b/DocFormats/filters/ooxml/src/word/WordWhitespace.h
index 97668b6..18c240b 100644
--- a/DocFormats/filters/ooxml/src/word/WordWhitespace.h
+++ b/DocFormats/filters/ooxml/src/word/WordWhitespace.h
@@ -15,12 +15,9 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordWhitespace_h
-#define DocFormats_WordWhitespace_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 
 void WordAddNbsps(DFDocument *doc);
 void WordRemoveNbsps(DFDocument *doc);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/formatting/WordCommonPr.h b/DocFormats/filters/ooxml/src/word/formatting/WordCommonPr.h
index 0b5fdba..dc61135 100644
--- a/DocFormats/filters/ooxml/src/word/formatting/WordCommonPr.h
+++ b/DocFormats/filters/ooxml/src/word/formatting/WordCommonPr.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordCommonPr_h
-#define DocFormats_WordCommonPr_h
+#pragma once
 
 #include "WordConverter.h"
 
@@ -31,5 +30,3 @@
 void WordGetBorder(DFNode *concrete, const char *side, CSSProperties *properties);
 void WordPutBorder(DFDocument *doc, CSSProperties *oldp, CSSProperties *newp, DFNode **childp,
                    Tag tag, const char *side);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/formatting/WordNumPr.h b/DocFormats/filters/ooxml/src/word/formatting/WordNumPr.h
index 93ce768..bd27123 100644
--- a/DocFormats/filters/ooxml/src/word/formatting/WordNumPr.h
+++ b/DocFormats/filters/ooxml/src/word/formatting/WordNumPr.h
@@ -15,12 +15,9 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordNumPr_h
-#define DocFormats_WordNumPr_h
+#pragma once
 
 #include "WordConverter.h"
 
 void WordGetNumPrStyle(DFNode *numPr, CSSStyle *style, WordConverter *converter);
 void updateNumbering(WordConverter *converter, CSSSheet *cssSheet);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/formatting/WordPPr.h b/DocFormats/filters/ooxml/src/word/formatting/WordPPr.h
index 4961bce..1d82e0b 100644
--- a/DocFormats/filters/ooxml/src/word/formatting/WordPPr.h
+++ b/DocFormats/filters/ooxml/src/word/formatting/WordPPr.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordPPr_h
-#define DocFormats_WordPPr_h
+#pragma once
 
 #include "WordConverter.h"
 
@@ -103,5 +102,3 @@
 
  */
 void WordPutPPr(DFNode *pPr, CSSProperties *properties, const char *styleId, struct WordSection *section, int outlineLvl);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/formatting/WordRPr.h b/DocFormats/filters/ooxml/src/word/formatting/WordRPr.h
index 487c5d8..47b9c86 100644
--- a/DocFormats/filters/ooxml/src/word/formatting/WordRPr.h
+++ b/DocFormats/filters/ooxml/src/word/formatting/WordRPr.h
@@ -15,12 +15,9 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordRPr_h
-#define DocFormats_WordRPr_h
+#pragma once
 
 #include "WordConverter.h"
 
 void WordGetRPr(DFNode *concrete, CSSProperties *properties, const char **styleId, struct WordTheme *theme);
 void WordPutRPr(DFNode *concrete, CSSProperties *newp, const char *newStyleId, struct WordTheme *theme);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/formatting/WordTblPr.h b/DocFormats/filters/ooxml/src/word/formatting/WordTblPr.h
index a2a1926..50bc928 100644
--- a/DocFormats/filters/ooxml/src/word/formatting/WordTblPr.h
+++ b/DocFormats/filters/ooxml/src/word/formatting/WordTblPr.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordTblPr_h
-#define DocFormats_WordTblPr_h
+#pragma once
 
 #include "WordConverter.h"
 
@@ -29,5 +28,3 @@
 void WordGetTcPr(DFNode *concrete, CSSProperties *properties);
 void WordPutTcPr2(DFNode *concrete, unsigned int gridSpan, const char *vMerge);
 void WordPutTcPr1(DFNode *concrete, CSSProperties *newp);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/lenses/WordBookmark.h b/DocFormats/filters/ooxml/src/word/lenses/WordBookmark.h
index ce66df4..b6a0838 100644
--- a/DocFormats/filters/ooxml/src/word/lenses/WordBookmark.h
+++ b/DocFormats/filters/ooxml/src/word/lenses/WordBookmark.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordBookmark_h
-#define DocFormats_WordBookmark_h
+#pragma once
 
 #include <DocFormats/DFXMLForward.h>
 #include "WordSheet.h"
@@ -71,5 +70,3 @@
 void WordBookmarks_collapseNew(DFDocument *doc);
 void WordBookmarks_expandNew(DFDocument *doc);
 void WordBookmarks_removeCaptionBookmarks(DFDocument *doc);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/lenses/WordDrawing.h b/DocFormats/filters/ooxml/src/word/lenses/WordDrawing.h
index c10c661..a353ecf 100644
--- a/DocFormats/filters/ooxml/src/word/lenses/WordDrawing.h
+++ b/DocFormats/filters/ooxml/src/word/lenses/WordDrawing.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordDrawing_h
-#define DocFormats_WordDrawing_h
+#pragma once
 
 #include "WordConverter.h"
 #include "DFDOM.h"
@@ -42,5 +41,3 @@
 DFNode *WordDrawingCreate(WordPutData *put, DFNode *abstract);
 void WordDrawingPut(WordPutData *put, DFNode *abstract, DFNode *concrete);
 void WordDrawingRemove(WordPutData *put, DFNode *concrete);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/lenses/WordField.h b/DocFormats/filters/ooxml/src/word/lenses/WordField.h
index 3b5647b..9cdd0f9 100644
--- a/DocFormats/filters/ooxml/src/word/lenses/WordField.h
+++ b/DocFormats/filters/ooxml/src/word/lenses/WordField.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordField_h
-#define DocFormats_WordField_h
+#pragma once
 
 #include "WordPackage.h"
 
 const char **Word_parseField(const char *cstr);
 
 int Word_simplifyFields(WordPackage *package);
-
-#endif
diff --git a/DocFormats/filters/ooxml/src/word/lenses/WordLenses.h b/DocFormats/filters/ooxml/src/word/lenses/WordLenses.h
index fd13d5f..ef7c631 100644
--- a/DocFormats/filters/ooxml/src/word/lenses/WordLenses.h
+++ b/DocFormats/filters/ooxml/src/word/lenses/WordLenses.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordLenses_h
-#define DocFormats_WordLenses_h
+#pragma once
 
 #include "DFBDT.h"
 #include "WordConverter.h"
@@ -48,5 +47,3 @@
 
 DFNode *WordContainerGet(WordGetData *get, WordLens *childLens, DFNode *abstract, DFNode *concrete);
 void WordContainerPut(WordPutData *put, WordLens *childLens, DFNode *abstract, DFNode *concrete);
-
-#endif
diff --git a/DocFormats/filters/ooxml/tests/word/WordPlain.h b/DocFormats/filters/ooxml/tests/word/WordPlain.h
index 93bafb9..9e5ecd3 100644
--- a/DocFormats/filters/ooxml/tests/word/WordPlain.h
+++ b/DocFormats/filters/ooxml/tests/word/WordPlain.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_WordPlain_h
-#define DocFormats_WordPlain_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include <DocFormats/DFStorage.h>
@@ -27,5 +26,3 @@
 DFStorage *Word_fromPlain(const char *plain, const char *plainPath, DFError **error);
 
 DFStorage *TestCaseOpenPackage(DFError **error);
-
-#endif
diff --git a/DocFormats/headers/DFCommon.h b/DocFormats/headers/DFCommon.h
index e9e8f10..85250ac 100644
--- a/DocFormats/headers/DFCommon.h
+++ b/DocFormats/headers/DFCommon.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFCommon_h
-#define DocFormats_DFCommon_h
+#pragma once
 
 #include "DFTypes.h"
 
 #ifndef S_ISDIR
 #define S_ISDIR(m)      (((m) & S_IFMT) == S_IFDIR)     /* directory */
 #endif
-
-#endif
diff --git a/DocFormats/headers/DFCore.h b/DocFormats/headers/DFCore.h
index 8355bd3..012c1c1 100644
--- a/DocFormats/headers/DFCore.h
+++ b/DocFormats/headers/DFCore.h
@@ -15,8 +15,4 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFCore_h
-#define DocFormats_DFCore_h
-
-
-#endif
+#pragma once
diff --git a/DocFormats/headers/DFPlatform.h b/DocFormats/headers/DFPlatform.h
index 70e4591..7f2e005 100755
--- a/DocFormats/headers/DFPlatform.h
+++ b/DocFormats/headers/DFPlatform.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFPlatform_h
-#define DocFormats_DFPlatform_h
+#pragma once
 
 #ifdef _WINDOWS
 #include <direct.h>
@@ -106,5 +105,3 @@
 void *xrealloc(void *ptr, size_t size);
 
 char *xstrdup(const char *s);
-
-#endif // DocFormats_DFPlatform_h
diff --git a/DocFormats/headers/DFTypes.h b/DocFormats/headers/DFTypes.h
index ef63766..4973b32 100644
--- a/DocFormats/headers/DFTypes.h
+++ b/DocFormats/headers/DFTypes.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFTypes_h
-#define DocFormats_DFTypes_h
+#pragma once
 
 #ifdef _MSC_VER
 #define ATTRIBUTE_ALIGNED(n) __declspec(align(8))
@@ -30,5 +29,3 @@
 #include <stdint.h>
 #include <stdarg.h>
 #include <stddef.h>
-
-#endif
diff --git a/DocFormats/unittest/DFUnitTest.h b/DocFormats/unittest/DFUnitTest.h
index 1a24d46..c6d1db3 100644
--- a/DocFormats/unittest/DFUnitTest.h
+++ b/DocFormats/unittest/DFUnitTest.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef DocFormats_DFUnitTest_h
-#define DocFormats_DFUnitTest_h
+#pragma once
 
 /*
  
@@ -91,5 +90,3 @@
 void utassert(int condition, const char *description);
 void utexpect(const char *actual, const char *expected);
 void utfail(const char *reason);
-
-#endif
diff --git a/consumers/corinthia/src/Editor.h b/consumers/corinthia/src/Editor.h
index 117a18d..b26972e 100644
--- a/consumers/corinthia/src/Editor.h
+++ b/consumers/corinthia/src/Editor.h
@@ -15,6 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#pragma once
+
 #import <QWidget>
 
 class Editor;
diff --git a/consumers/corinthia/src/JSInterface.h b/consumers/corinthia/src/JSInterface.h
index 8cb9e85..6120045 100644
--- a/consumers/corinthia/src/JSInterface.h
+++ b/consumers/corinthia/src/JSInterface.h
@@ -15,6 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#pragma once
+
 #include <QString>
 #include <QRect>
 #include <QJsonObject>
diff --git a/consumers/corinthia/src/MainWindow.h b/consumers/corinthia/src/MainWindow.h
index 0a2693b..872c0fd 100644
--- a/consumers/corinthia/src/MainWindow.h
+++ b/consumers/corinthia/src/MainWindow.h
@@ -15,6 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#pragma once
+
 #include <QWidget>
 
 class Toolbar;
diff --git a/consumers/corinthia/src/Toolbar.h b/consumers/corinthia/src/Toolbar.h
index 207eafc..1b1bdfb 100644
--- a/consumers/corinthia/src/Toolbar.h
+++ b/consumers/corinthia/src/Toolbar.h
@@ -15,6 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
+#pragma once
+
 #include <QWidget>
 
 class QPushButton;
diff --git a/consumers/dfutil/src/Commands.h b/consumers/dfutil/src/Commands.h
index 93114a3..44fbcc1 100644
--- a/consumers/dfutil/src/Commands.h
+++ b/consumers/dfutil/src/Commands.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_Commands_h
-#define dfutil_Commands_h
+#pragma once
 
 #include <DocFormats/DFError.h>
 #include "DFBuffer.h"
@@ -35,5 +34,3 @@
 int stobFile(const char *inFilename, const char *outFilename, DFError **error);
 int escapeCSSIdent(const char *filename, DFError **error);
 int unescapeCSSIdent(const char *filename, DFError **error);
-
-#endif
diff --git a/consumers/dfutil/src/FunctionTests.h b/consumers/dfutil/src/FunctionTests.h
index 5f2ee23..2e611d8 100644
--- a/consumers/dfutil/src/FunctionTests.h
+++ b/consumers/dfutil/src/FunctionTests.h
@@ -15,13 +15,10 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_FunctionTests_h
-#define dfutil_FunctionTests_h
+#pragma once
 
 #ifdef __APPLE__
 
 void testPathFunctions(void);
 
 #endif
-
-#endif
diff --git a/consumers/dfutil/src/StringTests.h b/consumers/dfutil/src/StringTests.h
index 7971147..bd8eb53 100644
--- a/consumers/dfutil/src/StringTests.h
+++ b/consumers/dfutil/src/StringTests.h
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#ifndef dfutil_StringTests_h
-#define dfutil_StringTests_h
+#pragma once
 
 #include <stdint.h>
 
@@ -29,5 +28,3 @@
 int testStrings(void);
 
 #endif
-
-#endif