mirror of
https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
synced 2025-10-29 09:15:33 +00:00
Changed a few things in the printer
This commit is contained in:
@@ -35078,7 +35078,7 @@
|
||||
<line index="29" autopsic="28" />Schuldbriefe erwachsen, näml.
|
||||
<line index="30" autopsic="29" tab="1" /><tabs><tab value="0-8">No</tab><tab value="1-8">1.) <aq>Joh And. Schön</aq>sche <aq>ingrossi</aq>rte <aq>Obligation</aq> von</tab> <tab value="6-8">500 fl.</tab>
|
||||
<line index="31" autopsic="30" /><tab value="1-8"> noch aus der ersten <aq>Specification.</aq></tab>
|
||||
<line index="32" autopsic="31" tab="1" /><tab value="1-8">2.)<aq>Nuppenau</aq>sches Anlehn, welches gemäß dem</tab>
|
||||
<line index="32" autopsic="31" tab="1" /><tab value="1-8">2.) <aq>Nuppenau</aq>sches Anlehn, welches gemäß dem</tab>
|
||||
<line index="33" autopsic="32" /><tab value="1-8"> obigen Verzeichnis bestanden in 2000 fl. so nicht</tab>
|
||||
<line index="34" autopsic="33" /><tab value="1-8"> völlig beygetrieben worden sondern wovon</tab>
|
||||
<line index="35" autopsic="34" /><tab value="1-8"> noch <aq>Rest</aq> geblieben auf einen Wechsel, für den</tab>
|
||||
@@ -35095,8 +35095,8 @@
|
||||
<line index="8" autopsic="8" /><tab value="1-8"> <aq>Documenta produci</aq>ret und künfftig <aq>ad</aq></tab>
|
||||
<line index="9" autopsic="9" /><tab value="1-8"> <aq>depositum</aq> <del>pupillare</del> gegeben werden können.</tab>
|
||||
<line index="10" autopsic="10" /><tab value="1-8">7.) HE. <aq>Commercien R. Hoyer</aq> Wechsel auf</tab><tab value="6-8">3000</tab>
|
||||
<line index="11" autopsic="11" /><tab value="1-8">8.) H <aq>Commerc.</aq> – <aq>Saturgus</aq> –</tab><tab value="6-8"><ful> 1000 </ful></tab>
|
||||
<line index="12" autopsic="12" /><tab value="7-8">14,500 fl.</tab></tabs>
|
||||
<line index="11" autopsic="11" /><tab value="1-8">8.) H <aq>Commerc.</aq> – <aq>Saturgus</aq> –</tab><tab value="6-8"><ful>1000 </ful></tab>
|
||||
<line index="12" autopsic="12" /><tab value="6-8">14,500 fl.</tab></tabs>
|
||||
<line index="13" autopsic="13" type="break" tab="1" />Aus diesen <aq>specifi</aq>rten <aq>Credit</aq>Posten <aq>submitti</aq>re mich No 2. bis <aq>No.</aq> 6.
|
||||
<line index="14" autopsic="14" /><aq>incl.</aq> welche zusammen 10000 fl. ausmachen sogl. zu <aq>produci</aq>ren, auch solche
|
||||
<line index="15" autopsic="15" />künftig <aq>ad depositum pupillare</aq> zu geben wodurch also mein Bruder <aq>Johann
|
||||
|
||||
@@ -597,7 +597,7 @@
|
||||
{
|
||||
<div class="hands">
|
||||
<br>
|
||||
<span class="app">Zusätze fremder Hand:</span>
|
||||
<span class="app">Zusätze fremder Hand</span>
|
||||
@foreach (var hand in handstrings)
|
||||
{
|
||||
<br>
|
||||
@@ -612,7 +612,7 @@
|
||||
<span class="app">Textkritische Anmerkungen <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 20" data-bs-toggle="tooltip" data-bs-placement="right" title="Der Brieftext wurde anhand der überlieferten Quellen (vgl. Provenienz) kritisch geprüft. Notwendige Korrekturen gegenüber dem in ZH gedruckten Text wurden vorgenommen und sind vollständig annotiert. Die in den beiden Auflagen von ZH angehängten Korrekturvorschläge werden vollständig aufgelistet, werden aber nur dann im Text realisiert, sofern diese anhand überlieferter Quellen verifiziert werden konnten.">
|
||||
<path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/>
|
||||
<path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533L8.93 6.588zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"/>
|
||||
</svg> :</span>
|
||||
</svg></span>
|
||||
@* <div class="disclaimer">Der Brieftext wurde anhand der überlieferten Quellen (vgl. Provenienz) kritisch geprüft. Notwendige Korrekturen gegenüber dem in ZH gedruckten Text wurden vorgenommen und sind vollständig annotiert. Die in den beiden Auflagen von ZH angehängten Korrekturvorschläge werden vollständig aufgelistet, werden aber nur dann im Text realisiert, sofern diese anhand überlieferter Quellen verifiziert werden konnten.</div> *@
|
||||
@Html.Raw(sb_edits)
|
||||
</div>
|
||||
|
||||
@@ -55,6 +55,7 @@ namespace HamannPrinter
|
||||
static public string NormalFont { get; set; }
|
||||
// Name der alternativen Font (serifenlos)
|
||||
static public string SpecialFont { get; set; }
|
||||
static public string Diodone { get; set; }
|
||||
//Positionswert von Hochstellungen
|
||||
static public string SuperValue { get; set; }
|
||||
//Positionswert von Tiefstellungen
|
||||
@@ -94,6 +95,7 @@ namespace HamannPrinter
|
||||
SpecialFont = docxOptions.SpecialFont;
|
||||
SuperValue = docxOptions.SuperValue;
|
||||
SubValue = docxOptions.SubValue;
|
||||
Diodone = docxOptions.Diodone;
|
||||
RegisterPaths = new List<string>();
|
||||
YearPaths = new List<string>();
|
||||
LetterPaths = new List<string>();
|
||||
@@ -284,7 +286,7 @@ namespace HamannPrinter
|
||||
|
||||
public static void MakeSourceSection(LetterObj letter)
|
||||
{
|
||||
string txt = "Johann Georg Hamann: Kommentierte Briefausgabe. Hrsg. von Leonard Keidel und Janina Reibold, auf Grundlage der Vorarbeiten Arthur Henkels, unter Mitarbeit von Gregor Babelotzky, Konrad Bucher, Christian Großmann, Carl Friedrich Haak, Luca Klopfer, Johannes Knüchel, Isabel Langkabel und Simon Martens. (Heidelberg 2020ff.) URL: ";
|
||||
string txt = "Johann Georg Hamann: Kommentierte Briefausgabe (HKB). Hrsg. von Leonard Keidel und Janina Reibold, auf Grundlage der Vorarbeiten Arthur Henkels, unter Mitarbeit von Gregor Babelotzky, Konrad Bucher, Christian Großmann, Carl Friedrich Haak, Luca Klopfer, Johannes Knüchel, Isabel Langkabel und Simon Martens. (Heidelberg 2020ff.) URL: ";
|
||||
//Hyperlink link = new Hyperlink(new Run(new Text("www.hamann-ausgabe.de"))) { Anchor = "Hamann-Ausgabe online", DocLocation = "https://www.hamann-ausgabe.de", Id= "https://www.hamann-ausgabe.de" };
|
||||
var link = new Run(new Text("www.hamann-ausgabe.de"));
|
||||
var head = new Run(new Text("Quelle:"));
|
||||
@@ -335,7 +337,7 @@ namespace HamannPrinter
|
||||
{
|
||||
string editRefString = RemoveWhiteSpaceLinebreak(edit.Reference);
|
||||
XElement editReference = StringToXElement(editRefString);
|
||||
ParseXElement(editReference, editLemma);
|
||||
ParseSublementaXElement(editReference, editLemma);
|
||||
editLemma.AppendChild<Run>(new Run(new Text("] ") { Space = SpaceProcessingModeValues.Preserve }));
|
||||
}
|
||||
else
|
||||
@@ -354,7 +356,7 @@ namespace HamannPrinter
|
||||
XElement editComment = StringToXElement(editText);
|
||||
if (editComment != null)
|
||||
{
|
||||
ParseXElement(editComment, editLemma);
|
||||
ParseSublementaXElement(editComment, editLemma);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -689,6 +691,9 @@ namespace HamannPrinter
|
||||
string tag = xelem.Name.LocalName;
|
||||
switch (tag)
|
||||
{
|
||||
case "letterTradition":
|
||||
form = new Formatierer(SansSerifRun);
|
||||
break;
|
||||
case "line":
|
||||
string parent = GetHighestParentNode(xnode).Trim();
|
||||
if (parent == "editreason")
|
||||
@@ -786,6 +791,9 @@ namespace HamannPrinter
|
||||
|
||||
switch (tag)
|
||||
{
|
||||
case "letterTradition":
|
||||
form = new Formatierer(SansSerifRun);
|
||||
break;
|
||||
case "app":
|
||||
case "emph":
|
||||
string emphParent = GetHighestParentNode(xelem).Trim();
|
||||
@@ -793,6 +801,7 @@ namespace HamannPrinter
|
||||
{
|
||||
form = new Formatierer(LineBreakBefore);
|
||||
form += new Formatierer(BoldRun);
|
||||
form += new Formatierer(SansSerifRun);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -838,7 +847,7 @@ namespace HamannPrinter
|
||||
case "hand":
|
||||
//die Liste HandTags wird später zur Referenzierung der <hand> Stellen gebraucht
|
||||
letter.HandTags.Add(xelem);
|
||||
form = new Formatierer(GreyBackRun);
|
||||
form = new Formatierer(DiodoneRun);
|
||||
break;
|
||||
|
||||
case "ul":
|
||||
@@ -875,7 +884,7 @@ namespace HamannPrinter
|
||||
break;
|
||||
|
||||
case "added":
|
||||
form = new Formatierer(GreyRun);
|
||||
form = new Formatierer(GreyBackRun);
|
||||
break;
|
||||
|
||||
case "fn":
|
||||
@@ -1916,6 +1925,18 @@ namespace HamannPrinter
|
||||
runprops.AppendChild(new RunFonts() { Ascii = Hamann2Word.SpecialFont, HighAnsi = Hamann2Word.SpecialFont, ComplexScript = Hamann2Word.SpecialFont });
|
||||
}
|
||||
|
||||
public static void DiodoneRun(Run run, string arg = null)
|
||||
{
|
||||
RunProperties runprops = run.RunProperties;
|
||||
if (runprops == null)
|
||||
{
|
||||
runprops = run.PrependChild(new RunProperties());
|
||||
}
|
||||
runprops.AppendChild(new RunFonts() { Ascii = Hamann2Word.Diodone, HighAnsi = Hamann2Word.Diodone, ComplexScript = Hamann2Word.Diodone });
|
||||
runprops.AppendChild(new FontSize() { Val = "21" });
|
||||
runprops.AppendChild(new FontSizeComplexScript() { Val ="21" });
|
||||
}
|
||||
|
||||
public static void SerifRun(Run run, string arg = null)
|
||||
{
|
||||
RunProperties runprops = run.RunProperties;
|
||||
@@ -2419,7 +2440,40 @@ namespace HamannPrinter
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseXElement(XElement list, Paragraph para)
|
||||
public static void ParseTraditionXElement(XElement list, Paragraph para, LetterObj letter) {
|
||||
//loopt über die Nodes des BriefXmls
|
||||
foreach (XNode xnode in list.Nodes())
|
||||
{
|
||||
/*wenn die node der ersten ebene ein XElelemnt ist, werden die
|
||||
* ihrem typ entsprechenden formatierungs informationen auf den "StyleStack" gelegt.
|
||||
dann wird mit WalkNodeTree über die ChildNodes geloopt*/
|
||||
if (xnode is XElement)
|
||||
{
|
||||
XElement xelem = xnode as XElement;
|
||||
Formatierer stack = null;
|
||||
stack = ProcessXelement(stack, xelem, letter.WordDoc, letter);
|
||||
if (xelem.LastNode != null)
|
||||
{
|
||||
WalkNodeTree(xelem.LastNode, stack, para, letter.WordDoc, letter);
|
||||
}
|
||||
}
|
||||
/*wenn node der ersten ebene XText ist, wird ihr Textinhalt als Run dem letzten Absatz des Dokuments angehängt*/
|
||||
else if (xnode is XText)
|
||||
{
|
||||
Run run = MakeTextRun(xnode);
|
||||
Formatierer stack = null;
|
||||
foreach (var anc in xnode.Ancestors())
|
||||
{
|
||||
stack += GetFormat(anc, para: para);
|
||||
}
|
||||
stack?.Invoke(run);
|
||||
Paragraph lastParagraph = GetLastPara(letter.WordDoc);
|
||||
lastParagraph.AppendChild(run);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void ParseSublementaXElement(XElement list, Paragraph para, LetterObj letter = null)
|
||||
{
|
||||
//wertet Kommentare, Überliefrerungen und Varianten apparat in form von XElement aus und hängt sie an para an
|
||||
if (list != null)
|
||||
@@ -2460,7 +2514,7 @@ namespace HamannPrinter
|
||||
wird es hinzugefügt. das einzige was dann etwas kniffelig ist, ist herauszufinden von wo (zeile/seite) bis
|
||||
wo sich der bereich mit fremder hand erstreckt*/
|
||||
|
||||
MakeHeading(letter.WordDoc, "Zusätze von fremder Hand");
|
||||
MakeHeading(letter.WordDoc, "Zusätze fremder Hand");
|
||||
foreach (var hand in letter.HandTags)
|
||||
{
|
||||
Paragraph para = GetLastPara(letter.WordDoc);
|
||||
@@ -2514,7 +2568,7 @@ namespace HamannPrinter
|
||||
string descript = "";
|
||||
if (Letters.HandPersons.ContainsKey(nameIndex))
|
||||
{
|
||||
descript = "geschrieben von " + Letters.HandPersons[nameIndex].Name;
|
||||
descript = Letters.HandPersons[nameIndex].Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -154,11 +154,76 @@ namespace HamannPrinter
|
||||
case "7":
|
||||
return "VII";
|
||||
default:
|
||||
Logger.Out("Kann BandZahl " + index + "nicht in römische Zahl auflösen.");
|
||||
return "?";
|
||||
var number = 0;
|
||||
if (!Int32.TryParse(index, out number)) {
|
||||
Logger.Out("Kann BandZahl " + index + "nicht in römische Zahl auflösen.");
|
||||
return "?";
|
||||
}
|
||||
else {
|
||||
return ToRoman(number);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static Dictionary<char, int> RomanMap = new Dictionary<char, int>()
|
||||
{
|
||||
{'I', 1},
|
||||
{'V', 5},
|
||||
{'X', 10},
|
||||
{'L', 50},
|
||||
{'C', 100},
|
||||
{'D', 500},
|
||||
{'M', 1000}
|
||||
};
|
||||
|
||||
public static int RomanToInteger(string roman)
|
||||
{
|
||||
var ro = roman.ToUpper();
|
||||
int number = 0;
|
||||
for (int i = 0; i < roman.Length; i++)
|
||||
{
|
||||
if (RomanMap.ContainsKey(ro[i]) && (i + 1 >= ro.Length || RomanMap.ContainsKey(ro[i + 1])))
|
||||
{
|
||||
if (i + 1 < ro.Length && RomanMap[ro[i]] < RomanMap[ro[i + 1]])
|
||||
{
|
||||
number -= RomanMap[ro[i]];
|
||||
}
|
||||
else
|
||||
{
|
||||
number += RomanMap[ro[i]];
|
||||
}
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
return number;
|
||||
}
|
||||
|
||||
public static int RomanOrNumberToInt(string number)
|
||||
{
|
||||
var a = 0;
|
||||
if (Int32.TryParse(number, out a)) return a;
|
||||
else return RomanToInteger(number);
|
||||
}
|
||||
public static string ToRoman(int number)
|
||||
{
|
||||
if ((number < 0) || (number > 3999)) return string.Empty;
|
||||
if (number < 1) return string.Empty;
|
||||
if (number >= 1000) return "M" + ToRoman(number - 1000);
|
||||
if (number >= 900) return "CM" + ToRoman(number - 900);
|
||||
if (number >= 500) return "D" + ToRoman(number - 500);
|
||||
if (number >= 400) return "CD" + ToRoman(number - 400);
|
||||
if (number >= 100) return "C" + ToRoman(number - 100);
|
||||
if (number >= 90) return "XC" + ToRoman(number - 90);
|
||||
if (number >= 50) return "L" + ToRoman(number - 50);
|
||||
if (number >= 40) return "XL" + ToRoman(number - 40);
|
||||
if (number >= 10) return "X" + ToRoman(number - 10);
|
||||
if (number >= 9) return "IX" + ToRoman(number - 9);
|
||||
if (number >= 5) return "V" + ToRoman(number - 5);
|
||||
if (number >= 4) return "IV" + ToRoman(number - 4);
|
||||
if (number >= 1) return "I" + ToRoman(number - 1);
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
public static string GetHighestParentNode(XNode xnode)
|
||||
{
|
||||
while (xnode.Parent != null)
|
||||
@@ -505,7 +570,7 @@ namespace HamannPrinter
|
||||
pagenumber = xelem.Attribute("index").Value.ToString();
|
||||
Paragraph counterParagraph = new Paragraph();
|
||||
ApplyParaStyle(counterParagraph, "seitenzählung");
|
||||
Run run = new Run(new Text("Seite " + pagenumber));
|
||||
Run run = new Run(new Text("S. " + pagenumber));
|
||||
counterParagraph.AppendChild<Run>(run);
|
||||
SmallFont(run);
|
||||
BoldRun(run);
|
||||
@@ -576,7 +641,7 @@ namespace HamannPrinter
|
||||
ApplyParaStyle(tradPara, "überlieferung");
|
||||
var tradString = letter.Tradition.ToString();
|
||||
XElement tradition = StringToXElement(RemoveWhiteSpaceLinebreak(tradString));
|
||||
ParseXElement(tradition, tradPara, letter);
|
||||
ParseTraditionXElement(tradition, tradPara, letter);
|
||||
}
|
||||
return tradPara;
|
||||
}
|
||||
|
||||
@@ -28,8 +28,8 @@ namespace HamannPrinter
|
||||
VolumeDocs.IsChecked = false;
|
||||
StartYearTextBox.Text = "1751";
|
||||
EndYearTextBox.Text = "1764";
|
||||
XmlFileBox.Text = @"C:\Users\simon\Desktop\Printer\XML"; // DEV
|
||||
OutputDirBox.Text = @"C:\Users\simon\Desktop\Printer\Ausg"; // DEV
|
||||
XmlFileBox.Text = @"D:\dev\source\hamann-ausgabe-core\XML\XML"; // DEV
|
||||
OutputDirBox.Text = @"D:\dev\source\hamann-ausgabe-core\XML\Ausg"; // DEV
|
||||
}
|
||||
|
||||
private void SingleDocChanged(object sender, RoutedEventArgs e)
|
||||
|
||||
@@ -47,6 +47,7 @@ namespace HamannPrinter
|
||||
public string FooterToText { get; set; } = "420";
|
||||
public string NormalFont { get; set; } = "Linux Libertine G";
|
||||
public string SpecialFont { get; set; } = "Linux Biolinum";
|
||||
public string Diodone { get; set; } = "Playfair Display";
|
||||
public string SuperValue { get; set; } = "6";
|
||||
public string SubValue { get; set; } = "-4";
|
||||
public (int, int) Years { get; set; }
|
||||
|
||||
5
HamannPrinter/probs.txt
Normal file
5
HamannPrinter/probs.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
[28.09.2021 13:39] Luca Klopfer
|
||||
Hier das Protokoll, die Dateien vom heutigen Datum sind ordnungsgebrüft. Auf lange Sicht möglicherweise ändern:- Schriftgröße und Zeilenabstand könnte man bei dem Monster-Format A4 schon bissl größer machen und dadurch die allzu großen Ränder verkleinern.
|
||||
|
||||
Der hängende Einzug im zweispaltigen Kommentar ist auf einstellige Seiten und Zeilen eingestellt.; etwa beim Kommentar zu HKB 1 (2/3) ist er perfekt, bei vielen anderen aber schief (vgl. die Kommentare zu HKB 4 ff). Wenn man den hängenden Einzug nicht an die Stellenzahl (2- 3- oder 4-Stellig) koppeln kann – was ich bezweifle – sollte man ihn global am 5-Stelligen ausrichten: etwa 3/4 aller Kommentare sind 5-Stellig. Kurzfristigeres:- pdfs: Zahlenformat Mediävalziffert für Haupttext; bei Stellenanzeigen im Kommentar usf. Versalziffern- HKB 24 Anfang: ZZ wird systembedingt nicht angezeigt, die Zeilen schweben bissl in der Luft (auf der Seite ists ausgerechnet Z. 31-34)- Schusterjungen-Korrektur händisch (das geht wohl schneller als sich eine technische Lösung auszudenken)- etwa alle 50 Seiten ist eine Zeile zu lang, bspw. HKB 30 (79/11), auf der website hauts hin, bei pdfs wird die Zeile aber umbrochen; habe den Umbruch an solchen Stellen dann immer geglättet (unsere ZH-Zeilen-Entsprechung ist ja sowieso nur 99%), werde das auch weiterhin tun; Zeilenbreite aber dennoch etwas weiter nach rechts- website: HKB 630 (327/1ff): da hakt etwas mit der ZZ, jedenfalls ist die Zeile verrutscht, obwohls richtig eingetragen ist; vielleicht liegts an der alten upload-version, nach upload nochmal checken- Unterstreichung in pdf sollte etwas dünner und bissl weiter nach unten; Unterlängen-Ausfall-Effekt bei p,g,q usf.?- line type line wird nicht ausgegeben: z.B. HKB 179 (13/3), ebenso 21/23, systematisches problem- HKB 189 (37/5): Die ZZ oben bei Z. 5 stimmt nicht, später aber schon, auch richtig eingetragen; oben verrutscht es immer, wenn der Brief bei einer durch 5 teilbare Zahl anfängt
|
||||
|
||||
Binary file not shown.
BIN
XML/XML/Sicherungskopie von Editionsrichtlinien.wbk
Normal file
BIN
XML/XML/Sicherungskopie von Editionsrichtlinien.wbk
Normal file
Binary file not shown.
Reference in New Issue
Block a user