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
+9 -9
View File
@@ -1,12 +1,12 @@
<Application x:Class="KillerPDF.App"
<Application x:Class="MmdPdf.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:KillerPDF">
xmlns:local="clr-namespace:MmdPdf">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<!-- [0] Theme (overridden at startup by ThemeManager.Initialize) -->
<ResourceDictionary Source="Themes/Dark.xaml"/>
<ResourceDictionary Source="Themes/MMD.xaml"/>
<!-- [1] Strings (overridden at startup by LocaleManager.Initialize) -->
<ResourceDictionary Source="Strings/en-US.xaml"/>
<!-- NOTHING GOES HERE. Slot [2] belongs to LocaleManager (the locale override,
@@ -90,8 +90,8 @@
</Style>
<!-- ============================================================================
PRODUCT-SPECIFIC DESIGN TOKENS. Shared trademark palette tokens come from KillerUI;
these local resources cover KillerPDF-only tools and dialogs.
PRODUCT-SPECIFIC DESIGN TOKENS. Shared trademark palette tokens come from MmdPdfUI;
these local resources cover MmdPdf-only tools and dialogs.
Theme COLORS live in Themes/*.xaml; these are the theme-independent type,
shape, and elevation primitives. Code-built UI reads the same keys through
UiKit (UiKit.cs), so XAML and code can never drift apart.
@@ -99,11 +99,11 @@
<!-- Type families -->
<FontFamily x:Key="UiFont">Segoe UI, Microsoft JhengHei UI, Nirmala UI</FontFamily>
<!-- The full embedded Typewriter a602 face used by the KillerPDF wordmark. Keep the
<!-- The full embedded Typewriter a602 face used by the MmdPdf wordmark. Keep the
internal family name in sync with the font's name table; an approximate name makes
WPF silently substitute the system font. -->
<!-- Assembly-relative: release payloads run as KillerPDF.App.exe while legacy and
IDE builds run as KillerPDF.exe. Hard-coding either assembly name makes the
<!-- Assembly-relative: release payloads run as MmdPdf.App.exe while legacy and
IDE builds run as MmdPdf.exe. Hard-coding either assembly name makes the
embedded typewriter face silently fall back in the other build. -->
<FontFamily x:Key="WordmarkFont">./Fonts/#Typewriter - a602 (dead postman 2004)</FontFamily>
<FontFamily x:Key="WordmarkFontPdf">./Fonts/#Typewriter - a602 (dead postman 2004)</FontFamily>
@@ -158,7 +158,7 @@
ran 139 / 157 / 174 / 188 against an unshadowed 220, so it was still at ~85% of
its travel when the window edge cut it off. Blur 16 (the family value) completes
the falloff inside 8px. If the gutter is ever widened, the blur can grow with it.
Opacity stays at 0.78 rather than the family 0.6: KillerPDF's card is usually
Opacity stays at 0.78 rather than the family 0.6: MmdPdf's card is usually
filled edge to edge by a WHITE page, so the boundary is a near-full-range value
jump and the family opacity is swallowed by it - the right gutter needs more
depth, and a lower opacity left a hard edge on the gradient. (2026-07-31) -->