From e76778d8fbbf1ec77f0e1b2cf76011f4294c24f0 Mon Sep 17 00:00:00 2001 From: Anton Mukhin Date: Wed, 21 May 2025 14:05:34 +0300 Subject: [PATCH] TODO feature: Ability to make monospaced font a variable width one --- McBitFont/Form1.Designer.cs | 35 ++++++++++++++++++++++++++++++++++- McBitFont/Form1.cs | 9 +++++++++ TODO.txt | 2 +- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/McBitFont/Form1.Designer.cs b/McBitFont/Form1.Designer.cs index 5ff321b..b25df56 100644 --- a/McBitFont/Form1.Designer.cs +++ b/McBitFont/Form1.Designer.cs @@ -66,6 +66,7 @@ removeAfterToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); applyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + makeVarWidthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); ClearToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); shiftUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); shiftDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -419,6 +420,7 @@ newToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N; newToolStripMenuItem.Size = new System.Drawing.Size(184, 22); newToolStripMenuItem.Text = "New"; + newToolStripMenuItem.ToolTipText = "Create new file"; newToolStripMenuItem.Click += newToolStripMenuItem_Click; // // openToolStripMenuItem @@ -429,6 +431,7 @@ openToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O; openToolStripMenuItem.Size = new System.Drawing.Size(184, 22); openToolStripMenuItem.Text = "Open"; + openToolStripMenuItem.ToolTipText = "Open from file"; openToolStripMenuItem.Click += openToolStripMenuItem_Click; // // saveToolStripMenuItem @@ -439,6 +442,7 @@ saveToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S; saveToolStripMenuItem.Size = new System.Drawing.Size(184, 22); saveToolStripMenuItem.Text = "Save"; + saveToolStripMenuItem.ToolTipText = "Save changes"; saveToolStripMenuItem.Click += saveToolStripMenuItem_Click_1; // // saveAsToolStripMenuItem @@ -449,6 +453,7 @@ saveAsToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.S; saveAsToolStripMenuItem.Size = new System.Drawing.Size(184, 22); saveAsToolStripMenuItem.Text = "Save as"; + saveAsToolStripMenuItem.ToolTipText = "Save changes to another file"; saveAsToolStripMenuItem.Click += saveToolStripMenuItem_Click; // // exitToolStripMenuItem @@ -459,6 +464,7 @@ exitToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.X; exitToolStripMenuItem.Size = new System.Drawing.Size(184, 22); exitToolStripMenuItem.Text = "Exit"; + exitToolStripMenuItem.ToolTipText = "Quit application"; exitToolStripMenuItem.Click += exitToolStripMenuItem_Click; // // editToolStripMenuItem @@ -477,6 +483,7 @@ copyToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C; copyToolStripMenuItem.Size = new System.Drawing.Size(215, 22); copyToolStripMenuItem.Text = "Copy"; + copyToolStripMenuItem.ToolTipText = "Copy current symbol to clipboard"; copyToolStripMenuItem.Click += copyToolStripMenuItem_Click; // // pasteToolStripMenuItem @@ -488,6 +495,7 @@ pasteToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V; pasteToolStripMenuItem.Size = new System.Drawing.Size(215, 22); pasteToolStripMenuItem.Text = "Paste"; + pasteToolStripMenuItem.ToolTipText = "Paste from clipboard to current symbol"; pasteToolStripMenuItem.Click += pasteToolStripMenuItem_Click; // // prependSymbolToolStripMenuItem @@ -499,6 +507,7 @@ prependSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert; prependSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22); prependSymbolToolStripMenuItem.Text = "Prepend symbol"; + prependSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the beginning of the sequence"; prependSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click; // // appendSymbolToolStripMenuItem @@ -510,6 +519,7 @@ appendSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.End; appendSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22); appendSymbolToolStripMenuItem.Text = "Append symbol"; + appendSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the end of the sequence"; appendSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click; // // removeSymbolToolStripMenuItem @@ -521,6 +531,7 @@ removeSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete; removeSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22); removeSymbolToolStripMenuItem.Text = "Remove symbol"; + removeSymbolToolStripMenuItem.ToolTipText = "Remove current symbol (works only for first or last symbol in the sequence)"; removeSymbolToolStripMenuItem.Click += removeSymbolToolStripMenuItem_Click; // // removeBeforeToolStripMenuItem @@ -530,6 +541,7 @@ removeBeforeToolStripMenuItem.Name = "removeBeforeToolStripMenuItem"; removeBeforeToolStripMenuItem.Size = new System.Drawing.Size(215, 22); removeBeforeToolStripMenuItem.Text = "Remove all before selected"; + removeBeforeToolStripMenuItem.ToolTipText = "Remove all symbols before current one"; removeBeforeToolStripMenuItem.Click += removeBeforeToolStripMenuItem_Click; // // removeAfterToolStripMenuItem @@ -539,6 +551,7 @@ removeAfterToolStripMenuItem.Name = "removeAfterToolStripMenuItem"; removeAfterToolStripMenuItem.Size = new System.Drawing.Size(215, 22); removeAfterToolStripMenuItem.Text = "Remove all after selected"; + removeAfterToolStripMenuItem.ToolTipText = "Remove all symbols after current one"; removeAfterToolStripMenuItem.Click += removeAfterToolStripMenuItem_Click; // // applyToolStripMenuItem @@ -549,15 +562,25 @@ applyToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Space; applyToolStripMenuItem.Size = new System.Drawing.Size(215, 22); applyToolStripMenuItem.Text = "Apply"; + applyToolStripMenuItem.ToolTipText = "Apply canvas changes"; applyToolStripMenuItem.Click += button2_Click; // // toolsToolStripMenuItem // - toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { ClearToolStripMenuItem, shiftUpToolStripMenuItem, shiftDownToolStripMenuItem, shiftLeftToolStripMenuItem, shiftRightToolStripMenuItem, invertToolStripMenuItem, mirrorXToolStripMenuItem, mirrorYToolStripMenuItem, exportToolStripMenuItem }); + toolsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, ClearToolStripMenuItem, shiftUpToolStripMenuItem, shiftDownToolStripMenuItem, shiftLeftToolStripMenuItem, shiftRightToolStripMenuItem, invertToolStripMenuItem, mirrorXToolStripMenuItem, mirrorYToolStripMenuItem, exportToolStripMenuItem }); toolsToolStripMenuItem.Name = "toolsToolStripMenuItem"; toolsToolStripMenuItem.Size = new System.Drawing.Size(47, 20); toolsToolStripMenuItem.Text = "Tools"; // + // makeVarWidthToolStripMenuItem + // + makeVarWidthToolStripMenuItem.Name = "makeVarWidthToolStripMenuItem"; + makeVarWidthToolStripMenuItem.Size = new System.Drawing.Size(197, 22); + makeVarWidthToolStripMenuItem.Text = "Make Variable Width"; + makeVarWidthToolStripMenuItem.ToolTipText = "Make Font Variable width one"; + makeVarWidthToolStripMenuItem.Visible = false; + makeVarWidthToolStripMenuItem.Click += makeVarWidthToolStripMenuItem_Click; + // // ClearToolStripMenuItem // ClearToolStripMenuItem.Name = "ClearToolStripMenuItem"; @@ -565,6 +588,7 @@ ClearToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W; ClearToolStripMenuItem.Size = new System.Drawing.Size(197, 22); ClearToolStripMenuItem.Text = "Clear canvas"; + ClearToolStripMenuItem.ToolTipText = "Clear canvas"; ClearToolStripMenuItem.Click += btnClear_Click; // // shiftUpToolStripMenuItem @@ -575,6 +599,7 @@ shiftUpToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Up; shiftUpToolStripMenuItem.Size = new System.Drawing.Size(197, 22); shiftUpToolStripMenuItem.Text = "Shift Up"; + shiftUpToolStripMenuItem.ToolTipText = "Shift pixels Up"; shiftUpToolStripMenuItem.Click += btnShiftUp_Click; // // shiftDownToolStripMenuItem @@ -585,6 +610,7 @@ shiftDownToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Down; shiftDownToolStripMenuItem.Size = new System.Drawing.Size(197, 22); shiftDownToolStripMenuItem.Text = "Shift Down"; + shiftDownToolStripMenuItem.ToolTipText = "Shift pixels Down"; shiftDownToolStripMenuItem.Click += btnShiftDown_Click; // // shiftLeftToolStripMenuItem @@ -595,6 +621,7 @@ shiftLeftToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Left; shiftLeftToolStripMenuItem.Size = new System.Drawing.Size(197, 22); shiftLeftToolStripMenuItem.Text = "Shift left"; + shiftLeftToolStripMenuItem.ToolTipText = "Shift pixels Left"; shiftLeftToolStripMenuItem.Click += btnShiftLeft_Click; // // shiftRightToolStripMenuItem @@ -605,6 +632,7 @@ shiftRightToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Right; shiftRightToolStripMenuItem.Size = new System.Drawing.Size(197, 22); shiftRightToolStripMenuItem.Text = "Shift Right"; + shiftRightToolStripMenuItem.ToolTipText = "Shift pixels Right"; shiftRightToolStripMenuItem.Click += btnShiftRight_Click; // // invertToolStripMenuItem @@ -615,6 +643,7 @@ invertToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I; invertToolStripMenuItem.Size = new System.Drawing.Size(197, 22); invertToolStripMenuItem.Text = "Invert"; + invertToolStripMenuItem.ToolTipText = "Invert pixel colors"; invertToolStripMenuItem.Click += btnInvert_Click; // // mirrorXToolStripMenuItem @@ -625,6 +654,7 @@ mirrorXToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.X; mirrorXToolStripMenuItem.Size = new System.Drawing.Size(197, 22); mirrorXToolStripMenuItem.Text = "Mirror X"; + mirrorXToolStripMenuItem.ToolTipText = "Mirror by X axis (horizontal)"; mirrorXToolStripMenuItem.Click += btnMirrorX_Click; // // mirrorYToolStripMenuItem @@ -635,6 +665,7 @@ mirrorYToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Y; mirrorYToolStripMenuItem.Size = new System.Drawing.Size(197, 22); mirrorYToolStripMenuItem.Text = "Mirror Y"; + mirrorYToolStripMenuItem.ToolTipText = "Mirror by Y axis (vertical)"; mirrorYToolStripMenuItem.Click += btnMirrorY_Click; // // exportToolStripMenuItem @@ -644,6 +675,7 @@ exportToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E; exportToolStripMenuItem.Size = new System.Drawing.Size(197, 22); exportToolStripMenuItem.Text = "Export"; + exportToolStripMenuItem.ToolTipText = "Configure and export data"; exportToolStripMenuItem.Click += button1_Click; // // aboutToolStripMenuItem @@ -808,6 +840,7 @@ private System.Windows.Forms.CheckBox chkTopSide; private System.Windows.Forms.ToolStripMenuItem removeBeforeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeAfterToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem makeVarWidthToolStripMenuItem; } } diff --git a/McBitFont/Form1.cs b/McBitFont/Form1.cs index db4f551..6b524c3 100644 --- a/McBitFont/Form1.cs +++ b/McBitFont/Form1.cs @@ -578,6 +578,7 @@ namespace McBitFont { monospaced = form.rbMono.Checked; } + makeVarWidthToolStripMenuItem.Visible = monospaced; lblType.Text = monospaced ? "Monospaced" : "Variable width / Single"; codepage = (form.cbEncoding.SelectedItem as New.EncodingItem).Code; foreach (FrameMiniature ff in frames) { @@ -663,6 +664,7 @@ namespace McBitFont { baseline = sav.baseline; lblType.Text = monospaced ? "Monospaced" : "Variable width / Single"; frames = sav.frames; + makeVarWidthToolStripMenuItem.Visible = monospaced; miniList.Items.Clear(); ilMiniatures.Images.Clear(); foreach (FrameMiniature ff in frames) { @@ -865,5 +867,12 @@ namespace McBitFont { private void removeAfterToolStripMenuItem_Click(object sender, EventArgs e) { removeBA(false); } + + private void makeVarWidthToolStripMenuItem_Click(object sender, EventArgs e) { + monospaced = false; + makeVarWidthToolStripMenuItem.Visible = false; + lblType.Text = "Variable width / Single"; + prjModified = true; + } } } diff --git a/TODO.txt b/TODO.txt index ef1641b..c9a6121 100644 --- a/TODO.txt +++ b/TODO.txt @@ -7,7 +7,7 @@ Functionality: V Delete symbols before/after selected - Shift all symbols on code line (change symbol codes) - Specify starting code (extends the shift) -- Ability to make monospaced font a variable width one +V Ability to make monospaced font a variable width one - Undo/Redo - Image import from a file - Import from a text array