feat: rebrand to MMD PDF, single corporate theme, and remove original text under an edit

- Services/PdfRedactText.cs: strip text whose origin falls inside a CoverAnnotation
  from the page content stream at save time, hooked into PdfBurn.DrawAnnotationsIntoDoc.
  Fixes edited values staying recoverable by text extraction.
- Themes/MMD.xaml replaces all thirteen themes; picker and accent strip removed; no dark mode.
- Rename KillerPDF -> MMD PDF across code, resources, packaging and locale strings; new icon.
- Remove the upstream author credit and the in-app install button.
This commit is contained in:
2026-08-27 07:37:09 +02:00
parent 532485a830
commit 6610acfa44
230 changed files with 9362 additions and 11508 deletions
+4 -4
View File
@@ -1,19 +1,19 @@
namespace KillerPDF.Services
namespace MmdPdf.Services
{
// ============================================================
// OCR catalog - pure data, no IO, no App, no bootstrap.
// ============================================================
//
// Split out of OcrLanguages.cs so the test project can link THIS file alone. KillerPDF.Tests
// Split out of OcrLanguages.cs so the test project can link THIS file alone. MmdPdf.Tests
// compiles individual sources rather than referencing the app assembly, and OcrLanguages
// reaches App.GetSetting, OcrNativeBootstrap and HttpClient - none of which a data check needs.
//
// THE RULE THIS FILE ENCODES: OCR languages track interface languages. If KillerPDF ships a UI
// THE RULE THIS FILE ENCODES: OCR languages track interface languages. If MmdPdf ships a UI
// in a language, it ships an OCR model for that language. There is no interface language whose
// text the app cannot read.
//
// It drifted once already, because nothing checked: the UI shipped hu-HU while the catalog
// stayed at eleven entries, and killerpdf.net kept claiming OCR covered ten languages and that
// stayed at eleven entries, and baobab-ts.com kept claiming OCR covered ten languages and that
// Polish and Hungarian did not need models. OcrCatalogTests now reads Strings\*.xaml and fails
// the build if these lists and that folder disagree, and release.ps1 runs the suite.
internal static class OcrCatalog