summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2023-09-03 02:19:42 +0200
committerJay Berkenbilt <ejb@ql.org>2023-10-07 02:12:22 +0200
commitb075de73c88db1a315dc0542d4378ec5a2788255 (patch)
treeafc2915563f32bf8efe6bbb1b393eb7b0d939d4f
parentd02b737ce3808f0bcf1c588a5bb072f5b0e9f244 (diff)
downloadqpdf-b075de73c88db1a315dc0542d4378ec5a2788255.tar.zst
Start a project-level dictionary
When a user accepts a spelling word, the word appears in a .idea/dictionaries/$user.xml where $user is their username. A user has control over "their "words, but all users see all words. For qpdf, we probably want all the "official" words in qpdf.xml. This should be automated.
-rw-r--r--.idea/dictionaries/qpdf.xml597
-rw-r--r--TODO.md2
2 files changed, 599 insertions, 0 deletions
diff --git a/.idea/dictionaries/qpdf.xml b/.idea/dictionaries/qpdf.xml
new file mode 100644
index 00000000..60c548d5
--- /dev/null
+++ b/.idea/dictionaries/qpdf.xml
@@ -0,0 +1,597 @@
+<component name="ProjectDictionaryState">
+ <dictionary name="qpdf">
+ <words>
+ <w>abuild</w>
+ <w>aclocal</w>
+ <w>acro</w>
+ <w>acroform</w>
+ <w>acroread</w>
+ <w>admon</w>
+ <w>advapi</w>
+ <w>aesv</w>
+ <w>afdh</w>
+ <w>afdhph</w>
+ <w>ageneration</w>
+ <w>aitems</w>
+ <w>annots</w>
+ <w>aobjid</w>
+ <w>apcm</w>
+ <w>apdict</w>
+ <w>appian</w>
+ <w>appimage</w>
+ <w>appspot</w>
+ <w>arandom</w>
+ <w>arora</w>
+ <w>asdf</w>
+ <w>atoi</w>
+ <w>autobuilder</w>
+ <w>autobuilders</w>
+ <w>autofiles</w>
+ <w>autogen</w>
+ <w>autolabel</w>
+ <w>autopkgtest</w>
+ <w>baaa</w>
+ <w>backports</w>
+ <w>bashcompinit</w>
+ <w>berkenbilt</w>
+ <w>binmode</w>
+ <w>bitstream</w>
+ <w>blinearize</w>
+ <w>boldseq</w>
+ <w>bookinfo</w>
+ <w>bpreserve</w>
+ <w>bqpdf</w>
+ <w>brdp</w>
+ <w>bufpl</w>
+ <w>bufsize</w>
+ <w>buildrules</w>
+ <w>calledgetallpages</w>
+ <w>ccase</w>
+ <w>ccitt</w>
+ <w>cdef</w>
+ <w>cdict</w>
+ <w>cdosborn</w>
+ <w>cerr</w>
+ <w>cfis</w>
+ <w>cflags</w>
+ <w>ciphertext</w>
+ <w>classname</w>
+ <w>cleanpatch</w>
+ <w>clearsign</w>
+ <w>cleartext</w>
+ <w>cloudmersive</w>
+ <w>clusterfuzz</w>
+ <w>cmake</w>
+ <w>cmatch</w>
+ <w>codepoint</w>
+ <w>coldwind</w>
+ <w>colorspace</w>
+ <w>conftest</w>
+ <w>connor</w>
+ <w>copiable</w>
+ <w>cout</w>
+ <w>cpack</w>
+ <w>cphe</w>
+ <w>cppflags</w>
+ <w>crbegin</w>
+ <w>creationdate</w>
+ <w>cregex</w>
+ <w>crend</w>
+ <w>crnl</w>
+ <w>csoe</w>
+ <w>cstr</w>
+ <w>ctest</w>
+ <w>cxxflags</w>
+ <w>cygwin</w>
+ <w>datafile</w>
+ <w>dbuild</w>
+ <w>dcmake</w>
+ <w>dctdecode</w>
+ <w>decltype</w>
+ <w>decrypter</w>
+ <w>deduplicating</w>
+ <w>deps</w>
+ <w>deserialization</w>
+ <w>destdir</w>
+ <w>dests</w>
+ <w>devel</w>
+ <w>didier</w>
+ <w>diffutils</w>
+ <w>dinstall</w>
+ <w>directpagerefcount</w>
+ <w>distclean</w>
+ <w>ditems</w>
+ <w>dmaintainer</w>
+ <w>docbook</w>
+ <w>docdir</w>
+ <w>dohnal</w>
+ <w>dontalign</w>
+ <w>dqpdf</w>
+ <w>dqtest</w>
+ <w>dquote</w>
+ <w>drequire</w>
+ <w>dshow</w>
+ <w>dtdvalid</w>
+ <w>dwindows</w>
+ <w>ebra</w>
+ <w>ecks</w>
+ <w>efdh</w>
+ <w>efoh</w>
+ <w>efsoh</w>
+ <w>encodable</w>
+ <w>encp</w>
+ <w>endforeach</w>
+ <w>endfunction</w>
+ <w>endianness</w>
+ <w>endl</w>
+ <w>endobj</w>
+ <w>endstream</w>
+ <w>enspliel</w>
+ <w>envar</w>
+ <w>erasdf</w>
+ <w>errno</w>
+ <w>esize</w>
+ <w>eval</w>
+ <w>extlibdir</w>
+ <w>fclose</w>
+ <w>fdict</w>
+ <w>ffield</w>
+ <w>fghij</w>
+ <w>filep</w>
+ <w>firstname</w>
+ <w>firstterm</w>
+ <w>flarp</w>
+ <w>flate</w>
+ <w>flate's</w>
+ <w>flatelzwdecode</w>
+ <w>florian</w>
+ <w>fmatrix</w>
+ <w>fopen</w>
+ <w>fplain</w>
+ <w>fsanitize</w>
+ <w>fseeki</w>
+ <w>fseeko</w>
+ <w>fsoh</w>
+ <w>ftelli</w>
+ <w>fuzzer</w>
+ <w>fuzzers</w>
+ <w>fvisibility</w>
+ <w>gajic</w>
+ <w>gajić</w>
+ <w>gcurl</w>
+ <w>genname</w>
+ <w>genok</w>
+ <w>getu</w>
+ <w>ghostscript</w>
+ <w>glarp</w>
+ <w>glerbl</w>
+ <w>gmon</w>
+ <w>gmtoff</w>
+ <w>gnuc</w>
+ <w>gnutls</w>
+ <w>gprof</w>
+ <w>gswin</w>
+ <w>gynvael</w>
+ <w>hagoogamagoogle</w>
+ <w>hasacroform</w>
+ <w>hcryptprov</w>
+ <w>hdict</w>
+ <w>hoffmann</w>
+ <w>holger</w>
+ <w>hosoda</w>
+ <w>htcondor</w>
+ <w>htdocs</w>
+ <w>idempotency</w>
+ <w>ifdef</w>
+ <w>ifdefs</w>
+ <w>ifeq</w>
+ <w>ifstream</w>
+ <w>iinfilename</w>
+ <w>includedir</w>
+ <w>indoc</w>
+ <w>infile</w>
+ <w>infilename</w>
+ <w>inheritsresources</w>
+ <w>inpdf</w>
+ <w>inttypes</w>
+ <w>iostream</w>
+ <w>ioutfilename</w>
+ <w>irdp</w>
+ <w>ischeckbox</w>
+ <w>ischoice</w>
+ <w>isradiobutton</w>
+ <w>istr</w>
+ <w>italicseq</w>
+ <w>itemizedlist</w>
+ <w>jarr</w>
+ <w>jbarlow</w>
+ <w>jbig</w>
+ <w>jblob</w>
+ <w>jdimension</w>
+ <w>jdouble</w>
+ <w>jerr</w>
+ <w>jexp</w>
+ <w>jian</w>
+ <w>jint</w>
+ <w>jklmnopqrstuvwxyz</w>
+ <w>jmap</w>
+ <w>jmsg</w>
+ <w>jnull</w>
+ <w>jpeglib</w>
+ <w>jpool</w>
+ <w>jsamparray</w>
+ <w>jsample</w>
+ <w>jsamprow</w>
+ <w>jsimd</w>
+ <w>jsonversion</w>
+ <w>jstr</w>
+ <w>jurczyk</w>
+ <w>kgdl</w>
+ <w>lastreleased</w>
+ <w>latexmk</w>
+ <w>latexpdf</w>
+ <w>lbuf</w>
+ <w>lcrypto</w>
+ <w>ldflags</w>
+ <w>ldquo</w>
+ <w>libclang</w>
+ <w>libcmt</w>
+ <w>libcmtd</w>
+ <w>libdir</w>
+ <w>libgcc</w>
+ <w>libjpeg</w>
+ <w>libpcre</w>
+ <w>libqpdf</w>
+ <w>libstdc</w>
+ <w>libtests</w>
+ <w>libversion</w>
+ <w>libz</w>
+ <w>linearization</w>
+ <w>linearize</w>
+ <w>linearizes</w>
+ <w>linearizing</w>
+ <w>linefeeds</w>
+ <w>linkend</w>
+ <w>linp</w>
+ <w>listitem</w>
+ <w>ljpeg</w>
+ <w>localtime</w>
+ <w>longjmp</w>
+ <w>lpstr</w>
+ <w>lqpdf</w>
+ <w>lssl</w>
+ <w>ltime</w>
+ <w>lzwdecoder</w>
+ <w>macports</w>
+ <w>maint</w>
+ <w>makefiles</w>
+ <w>malloc</w>
+ <w>mandir</w>
+ <w>masamichi</w>
+ <w>mateusz</w>
+ <w>maxdepth</w>
+ <w>maxobjectid</w>
+ <w>mdash</w>
+ <w>memstream</w>
+ <w>mindepth</w>
+ <w>mkdir</w>
+ <w>mkinstalldirs</w>
+ <w>mklink</w>
+ <w>moddate</w>
+ <w>modifyannotations</w>
+ <w>monoseq</w>
+ <w>msvc</w>
+ <w>msvc's</w>
+ <w>msvcrt</w>
+ <w>msys</w>
+ <w>multithreaded</w>
+ <w>municode</w>
+ <w>mutators</w>
+ <w>namelink</w>
+ <w>nbsp</w>
+ <w>ndash</w>
+ <w>ndebug</w>
+ <w>nendstream</w>
+ <w>newpage</w>
+ <w>nfields</w>
+ <w>ngrandkids</w>
+ <w>nkids</w>
+ <w>nlines</w>
+ <w>nntree</w>
+ <w>nobjects</w>
+ <w>nocase</w>
+ <w>nodefaultlib</w>
+ <w>nolint</w>
+ <w>noout</w>
+ <w>notfound</w>
+ <w>nowarn</w>
+ <w>npages</w>
+ <w>nproc</w>
+ <w>nrounds</w>
+ <w>nshared</w>
+ <w>nsis</w>
+ <w>nspecs</w>
+ <w>nstripes</w>
+ <w>nullptr</w>
+ <w>numrange</w>
+ <w>nval</w>
+ <w>nwarnings</w>
+ <w>objdump</w>
+ <w>objectinfo</w>
+ <w>objgen</w>
+ <w>objid</w>
+ <w>objidok</w>
+ <w>objok</w>
+ <w>objstm</w>
+ <w>odict</w>
+ <w>ofirst</w>
+ <w>oiter</w>
+ <w>olast</w>
+ <w>olimits</w>
+ <w>olist</w>
+ <w>omap</w>
+ <w>omatrix</w>
+ <w>onum</w>
+ <w>opages</w>
+ <w>opath</w>
+ <w>orred</w>
+ <w>ossl</w>
+ <w>ostream</w>
+ <w>ostringstream</w>
+ <w>ostringstreams</w>
+ <w>outdoc</w>
+ <w>outfile</w>
+ <w>outfilename</w>
+ <w>pacman</w>
+ <w>paeth</w>
+ <w>pagelabel</w>
+ <w>pagelabels</w>
+ <w>pageno</w>
+ <w>pageposfrom</w>
+ <w>parms</w>
+ <w>parseable</w>
+ <w>parsedoffset</w>
+ <w>patmv</w>
+ <w>patrepl</w>
+ <w>pavlyuk</w>
+ <w>pbytes</w>
+ <w>pclm</w>
+ <w>pcre</w>
+ <w>pdflatex</w>
+ <w>pdfs</w>
+ <w>pdfversion</w>
+ <w>pdlin</w>
+ <w>pfeifle</w>
+ <w>pikepdf</w>
+ <w>pikepdf's</w>
+ <w>pkgconfig</w>
+ <w>pldh</w>
+ <w>pluggable</w>
+ <w>pngify</w>
+ <w>pngpredictor</w>
+ <w>pointerholder</w>
+ <w>poppler</w>
+ <w>prebuild</w>
+ <w>precheck</w>
+ <w>prepended</w>
+ <w>prepending</w>
+ <w>printf</w>
+ <w>programfiles</w>
+ <w>programlisting</w>
+ <w>proxied</w>
+ <w>pushedinheritedpageresources</w>
+ <w>putu</w>
+ <w>pval</w>
+ <w>pytest</w>
+ <w>qarray</w>
+ <w>qdata</w>
+ <w>qdict</w>
+ <w>qexc</w>
+ <w>qintc</w>
+ <w>qnumbers</w>
+ <w>qpdf</w>
+ <w>qpdf's</w>
+ <w>qpdfacroformdocumenthelper</w>
+ <w>qpdfannotationobjecthelper</w>
+ <w>qpdfargparser</w>
+ <w>qpdfbuild</w>
+ <w>qpdfconstants</w>
+ <w>qpdfcrypto</w>
+ <w>qpdfcryptoimpl</w>
+ <w>qpdfcryptoprovider</w>
+ <w>qpdfdocumenthelper</w>
+ <w>qpdfef</w>
+ <w>qpdfefstreamobjecthelper</w>
+ <w>qpdfembeddedfiledocumenthelper</w>
+ <w>qpdfexc</w>
+ <w>qpdffake</w>
+ <w>qpdffilespecobjecthelper</w>
+ <w>qpdfformfieldobjecthelper</w>
+ <w>qpdfjob</w>
+ <w>qpdflogger</w>
+ <w>qpdfmatrix</w>
+ <w>qpdfnametreeobjecthelper</w>
+ <w>qpdfnumbertreeobjecthelper</w>
+ <w>qpdfobject</w>
+ <w>qpdfobjecthandle</w>
+ <w>qpdfobjecthelper</w>
+ <w>qpdfobjgen</w>
+ <w>qpdfoutlinedocumenthelper</w>
+ <w>qpdfoutlineobjecthelper</w>
+ <w>qpdfpagedocumenthelper</w>
+ <w>qpdfpagelabeldocumenthelper</w>
+ <w>qpdfpageobjecthelper</w>
+ <w>qpdfparser</w>
+ <w>qpdfs</w>
+ <w>qpdfstreamfilter</w>
+ <w>qpdfsystemerror</w>
+ <w>qpdftokenizer</w>
+ <w>qpdftypes</w>
+ <w>qpdfusage</w>
+ <w>qpdfvalue</w>
+ <w>qpdfwriter</w>
+ <w>qpdfx</w>
+ <w>qpdfxrefentry</w>
+ <w>qstream</w>
+ <w>qstrings</w>
+ <w>qtest</w>
+ <w>quadding</w>
+ <w>quotesinglbase</w>
+ <w>qutil</w>
+ <w>qwer</w>
+ <w>qwert</w>
+ <w>qwww</w>
+ <w>rcon</w>
+ <w>rdpp</w>
+ <w>rdquo</w>
+ <w>refcount</w>
+ <w>reimplement</w>
+ <w>resave</w>
+ <w>retargeted</w>
+ <w>rfont</w>
+ <w>rijndael</w>
+ <w>rkey</w>
+ <w>rklength</w>
+ <w>rpath</w>
+ <w>rstream</w>
+ <w>runlength</w>
+ <w>runpath</w>
+ <w>runtest</w>
+ <w>sahil</w>
+ <w>samp</w>
+ <w>sarray</w>
+ <w>scarff</w>
+ <w>seekable</w>
+ <w>segfaulting</w>
+ <w>setargv</w>
+ <w>setjmp</w>
+ <w>sharedresources</w>
+ <w>singlehtml</w>
+ <w>smatch</w>
+ <w>softlink</w>
+ <w>soname</w>
+ <w>soversion</w>
+ <w>sparseoharray</w>
+ <w>sphlib</w>
+ <w>sprintf</w>
+ <w>squote</w>
+ <w>srandom</w>
+ <w>srdp</w>
+ <w>sregex</w>
+ <w>startxref</w>
+ <w>stdexcept</w>
+ <w>stdint</w>
+ <w>stdlib</w>
+ <w>stdlib's</w>
+ <w>stgz</w>
+ <w>stoi</w>
+ <w>strcasecmp</w>
+ <w>strcmp</w>
+ <w>strequal</w>
+ <w>strerror</w>
+ <w>strtoui</w>
+ <w>struct</w>
+ <w>stylesheet</w>
+ <w>subclassing</w>
+ <w>subdirs</w>
+ <w>subkey</w>
+ <w>subkeys</w>
+ <w>subramanyam</w>
+ <w>swversion</w>
+ <w>sysroot</w>
+ <w>syuu</w>
+ <w>tbuf</w>
+ <w>testcase</w>
+ <w>testcov</w>
+ <w>testfile</w>
+ <w>texlive</w>
+ <w>tgen</w>
+ <w>tiffcmp</w>
+ <w>tiffpredictor</w>
+ <w>tmatrix</w>
+ <w>tnum</w>
+ <w>tobj</w>
+ <w>tobjid</w>
+ <w>toctree</w>
+ <w>toolchains</w>
+ <w>toplevel</w>
+ <w>transcoders</w>
+ <w>trueroad</w>
+ <w>tval</w>
+ <w>typeinfo</w>
+ <w>tzoff</w>
+ <w>tzset</w>
+ <w>uinow</w>
+ <w>uiter</w>
+ <w>ularge</w>
+ <w>ulink</w>
+ <w>uncategorized</w>
+ <w>uncompresesd</w>
+ <w>uncompress</w>
+ <w>uncompressing</w>
+ <w>unconflicting</w>
+ <w>underlaying</w>
+ <w>unencrypted</w>
+ <w>unexport</w>
+ <w>unfilterable</w>
+ <w>unparse</w>
+ <w>unpickling</w>
+ <w>unrepaired</w>
+ <w>unretrieved</w>
+ <w>unversioned</w>
+ <w>upages</w>
+ <w>upass</w>
+ <w>urandom</w>
+ <w>uval</w>
+ <w>variablelist</w>
+ <w>varlistentry</w>
+ <w>varname</w>
+ <w>vecs</w>
+ <w>venv</w>
+ <w>virtualenv</w>
+ <w>vitaliy</w>
+ <w>vkey</w>
+ <w>vrlc</w>
+ <w>vtable</w>
+ <w>wchar</w>
+ <w>wconversion</w>
+ <w>wcslen</w>
+ <w>wdeprecated</w>
+ <w>weimer</w>
+ <w>werror</w>
+ <w>wfilename</w>
+ <w>wfilenamep</w>
+ <w>wflags</w>
+ <w>wfopen</w>
+ <w>wmain</w>
+ <w>wmatrix</w>
+ <w>wmode</w>
+ <w>wmodep</w>
+ <w>wnew</w>
+ <w>wordsize</w>
+ <w>wpath</w>
+ <w>wrename</w>
+ <w>wsetargv</w>
+ <w>wshadow</w>
+ <w>wsign</w>
+ <w>wunlink</w>
+ <w>xgen</w>
+ <w>xobject</w>
+ <w>xpacket</w>
+ <w>xpdf</w>
+ <w>xpost</w>
+ <w>xsltproc</w>
+ <w>yabcy</w>
+ <w>yscale</w>
+ <w>yuiop</w>
+ <w>zabcdefghi</w>
+ <w>zdata</w>
+ <w>zdenek</w>
+ <w>zdenop</w>
+ <w>zeroize</w>
+ <w>zeroizing</w>
+ <w>žarko</w>
+ <w>žarko's</w>
+ </words>
+ </dictionary>
+</component> \ No newline at end of file
diff --git a/TODO.md b/TODO.md
index 316d72d7..95b3e5e8 100644
--- a/TODO.md
+++ b/TODO.md
@@ -29,6 +29,8 @@ Always
Next
====
+* Spell check: Have the spell-check script synchronize cSpell.json with .idea/dictionaries/qpdf.xml,
+ which should be set to the union of all the validated user dictionaries.
* Fix #874 -- make args in --encrypt to match the json and make positional fill in the gaps
* Maybe fix #553 -- use file times for attachments
* std::string_view transition -- work being done by m-holger