aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py')
-rw-r--r--.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py b/.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py
new file mode 100644
index 00000000..70d8e666
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/pypdf/_codecs/__init__.py
@@ -0,0 +1,61 @@
+from typing import Dict, List
+
+from .adobe_glyphs import adobe_glyphs
+from .pdfdoc import _pdfdoc_encoding
+from .std import _std_encoding
+from .symbol import _symbol_encoding
+from .zapfding import _zapfding_encoding
+
+
+def fill_from_encoding(enc: str) -> List[str]:
+ lst: List[str] = []
+ for x in range(256):
+ try:
+ lst += (bytes((x,)).decode(enc),)
+ except Exception:
+ lst += (chr(x),)
+ return lst
+
+
+def rev_encoding(enc: List[str]) -> Dict[str, int]:
+ rev: Dict[str, int] = {}
+ for i in range(256):
+ char = enc[i]
+ if char == "\u0000":
+ continue
+ assert char not in rev, f"{char} at {i} already at {rev[char]}"
+ rev[char] = i
+ return rev
+
+
+_win_encoding = fill_from_encoding("cp1252")
+_mac_encoding = fill_from_encoding("mac_roman")
+
+
+_win_encoding_rev: Dict[str, int] = rev_encoding(_win_encoding)
+_mac_encoding_rev: Dict[str, int] = rev_encoding(_mac_encoding)
+_symbol_encoding_rev: Dict[str, int] = rev_encoding(_symbol_encoding)
+_zapfding_encoding_rev: Dict[str, int] = rev_encoding(_zapfding_encoding)
+_pdfdoc_encoding_rev: Dict[str, int] = rev_encoding(_pdfdoc_encoding)
+
+
+charset_encoding: Dict[str, List[str]] = {
+ "/StandardCoding": _std_encoding,
+ "/WinAnsiEncoding": _win_encoding,
+ "/MacRomanEncoding": _mac_encoding,
+ "/PDFDocEncoding": _pdfdoc_encoding,
+ "/Symbol": _symbol_encoding,
+ "/ZapfDingbats": _zapfding_encoding,
+}
+
+__all__ = [
+ "adobe_glyphs",
+ "_std_encoding",
+ "_symbol_encoding",
+ "_zapfding_encoding",
+ "_pdfdoc_encoding",
+ "_pdfdoc_encoding_rev",
+ "_win_encoding",
+ "_mac_encoding",
+ "charset_encoding",
+]