Skip to content

feat: konfigurovatelná normalizace textu (normalize_dashes + text_replace) - #1

Open
GitDevelsCz wants to merge 1 commit into
radekhulan:mainfrom
GitDevelsCz:feat/config-text-normalization
Open

feat: konfigurovatelná normalizace textu (normalize_dashes + text_replace)#1
GitDevelsCz wants to merge 1 commit into
radekhulan:mainfrom
GitDevelsCz:feat/config-text-normalization

Conversation

@GitDevelsCz

Copy link
Copy Markdown

Co to dělá

Přidává volitelnou normalizaci textu řízenou z configu — doslovné náhrady aplikované při generování v jednom místě (nová funkce configTextReplace):

  • tělo dokumentu + obsah/TOC (přes applyGlyphSubstitutions)
  • zdroj mermaid diagramů (renderMermaidToPng / renderMermaidToSvg) — takže se normalizace propíše i do popisků uvnitř diagramů (aplikováno před cache-hashem, cache tedy zůstává konzistentní)

Config klíče (oba volitelné)

'normalize_dashes' => true,        // dlouhé pomlčky (‒ – — ―) → spojovník '-'
'text_replace' => ['(c)' => '©'],  // libovolné náhrady (smí přebít i výchozí glyph substituce)

Bez obou klíčů se nic neděje → no-op, plně zpětně kompatibilní (default = stávající chování). Zdrojové .md zůstávají nedotčené — převod dělá engine až při sazbě.

Motivace

Sjednotit dlouhé pomlčky na běžný spojovník v generovaném PDF, ale bez zásahu do zdrojových .md (aby si držely správnou typografii). text_replace je obecný escape-hatch pro libovolné doslovné náhrady.

Testováno

  • normalize_dashes => true: em/en pomlčky (i uvnitř mermaid popisků) → -; text_replace ověřeno na (c) → ©.
  • bez klíčů: pomlčky zachovány (default chování beze změny).
  • php -l OK; ověřeno na mpdf i chrome rendereru.

Dokumentováno ve md2pdf.config.sample.php.


🤖 Generated with Claude Code

…lace)

Volitelné doslovné náhrady textu řízené z configu, aplikované v jednom
chokepointu (nová funkce configTextReplace):
  - tělo dokumentu a obsah/TOC (přes applyGlyphSubstitutions)
  - zdroj mermaid diagramů (renderMermaidToPng/renderMermaidToSvg), takže se
    normalizace propíše i do popisků uvnitř diagramů

Config klíče (oba volitelné; bez nich no-op → plně zpětně kompatibilní):
  - 'normalize_dashes' => true    dlouhé pomlčky (‒ – — ―) → spojovník '-'
  - 'text_replace' => ['z'=>'na'] libovolné náhrady (smí přebít i výchozí
                                  glyph substituce enginu)

Zdrojové .md zůstávají nedotčené — převod dělá engine až při sazbě. Dokumentováno
ve vzorovém md2pdf.config.sample.php.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants