WIP: Working on "zerofy widht for blank symbols" feature
This commit is contained in:
35
McBitFont/Form1.Designer.cs
generated
35
McBitFont/Form1.Designer.cs
generated
@@ -119,6 +119,7 @@
|
|||||||
dlgSavePNG = new System.Windows.Forms.SaveFileDialog();
|
dlgSavePNG = new System.Windows.Forms.SaveFileDialog();
|
||||||
pnlRightButtons = new System.Windows.Forms.Panel();
|
pnlRightButtons = new System.Windows.Forms.Panel();
|
||||||
pnlInfo = new System.Windows.Forms.Panel();
|
pnlInfo = new System.Windows.Forms.Panel();
|
||||||
|
zerofyWidthToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
((System.ComponentModel.ISupportInitialize)nudX).BeginInit();
|
((System.ComponentModel.ISupportInitialize)nudX).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)nudY).BeginInit();
|
((System.ComponentModel.ISupportInitialize)nudY).BeginInit();
|
||||||
panel1.SuspendLayout();
|
panel1.SuspendLayout();
|
||||||
@@ -720,7 +721,7 @@
|
|||||||
//
|
//
|
||||||
// fontToolStripMenuItem
|
// fontToolStripMenuItem
|
||||||
//
|
//
|
||||||
fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, CodeShiftToolStripMenuItem, toolStripSeparator3, previousSymbolToolStripMenuItem, nextSymbolToolStripMenuItem, toolStripSeparator4, testFontToolStripMenuItem });
|
fontToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { makeVarWidthToolStripMenuItem, prependSymbolToolStripMenuItem, appendSymbolToolStripMenuItem, removeSymbolToolStripMenuItem, removeBeforeToolStripMenuItem, removeAfterToolStripMenuItem, zerofyWidthToolStripMenuItem, CodeShiftToolStripMenuItem, toolStripSeparator3, previousSymbolToolStripMenuItem, nextSymbolToolStripMenuItem, toolStripSeparator4, testFontToolStripMenuItem });
|
||||||
fontToolStripMenuItem.Name = "fontToolStripMenuItem";
|
fontToolStripMenuItem.Name = "fontToolStripMenuItem";
|
||||||
fontToolStripMenuItem.Size = new System.Drawing.Size(43, 20);
|
fontToolStripMenuItem.Size = new System.Drawing.Size(43, 20);
|
||||||
fontToolStripMenuItem.Text = "Font";
|
fontToolStripMenuItem.Text = "Font";
|
||||||
@@ -730,7 +731,7 @@
|
|||||||
//
|
//
|
||||||
makeVarWidthToolStripMenuItem.Image = Properties.Resources.z_asterisk;
|
makeVarWidthToolStripMenuItem.Image = Properties.Resources.z_asterisk;
|
||||||
makeVarWidthToolStripMenuItem.Name = "makeVarWidthToolStripMenuItem";
|
makeVarWidthToolStripMenuItem.Name = "makeVarWidthToolStripMenuItem";
|
||||||
makeVarWidthToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
makeVarWidthToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
makeVarWidthToolStripMenuItem.Text = "Make Variable Width";
|
makeVarWidthToolStripMenuItem.Text = "Make Variable Width";
|
||||||
makeVarWidthToolStripMenuItem.ToolTipText = "Make Font Variable width one";
|
makeVarWidthToolStripMenuItem.ToolTipText = "Make Font Variable width one";
|
||||||
makeVarWidthToolStripMenuItem.Visible = false;
|
makeVarWidthToolStripMenuItem.Visible = false;
|
||||||
@@ -743,7 +744,7 @@
|
|||||||
prependSymbolToolStripMenuItem.Name = "prependSymbolToolStripMenuItem";
|
prependSymbolToolStripMenuItem.Name = "prependSymbolToolStripMenuItem";
|
||||||
prependSymbolToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Ins";
|
prependSymbolToolStripMenuItem.ShortcutKeyDisplayString = "Ctrl+Ins";
|
||||||
prependSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert;
|
prependSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert;
|
||||||
prependSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
prependSymbolToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
prependSymbolToolStripMenuItem.Text = "Prepend symbol";
|
prependSymbolToolStripMenuItem.Text = "Prepend symbol";
|
||||||
prependSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the beginning of the sequence";
|
prependSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the beginning of the sequence";
|
||||||
prependSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click;
|
prependSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click;
|
||||||
@@ -755,7 +756,7 @@
|
|||||||
appendSymbolToolStripMenuItem.Name = "appendSymbolToolStripMenuItem";
|
appendSymbolToolStripMenuItem.Name = "appendSymbolToolStripMenuItem";
|
||||||
appendSymbolToolStripMenuItem.ShortcutKeyDisplayString = "";
|
appendSymbolToolStripMenuItem.ShortcutKeyDisplayString = "";
|
||||||
appendSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.End;
|
appendSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.End;
|
||||||
appendSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
appendSymbolToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
appendSymbolToolStripMenuItem.Text = "Append symbol";
|
appendSymbolToolStripMenuItem.Text = "Append symbol";
|
||||||
appendSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the end of the sequence";
|
appendSymbolToolStripMenuItem.ToolTipText = "Add a symbol to the end of the sequence";
|
||||||
appendSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click;
|
appendSymbolToolStripMenuItem.Click += prependSymbolToolStripMenuItem_Click;
|
||||||
@@ -767,7 +768,7 @@
|
|||||||
removeSymbolToolStripMenuItem.Name = "removeSymbolToolStripMenuItem";
|
removeSymbolToolStripMenuItem.Name = "removeSymbolToolStripMenuItem";
|
||||||
removeSymbolToolStripMenuItem.ShortcutKeyDisplayString = "";
|
removeSymbolToolStripMenuItem.ShortcutKeyDisplayString = "";
|
||||||
removeSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete;
|
removeSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Delete;
|
||||||
removeSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
removeSymbolToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
removeSymbolToolStripMenuItem.Text = "Remove symbol";
|
removeSymbolToolStripMenuItem.Text = "Remove symbol";
|
||||||
removeSymbolToolStripMenuItem.ToolTipText = "Remove current symbol (works only for first or last symbol in the sequence)";
|
removeSymbolToolStripMenuItem.ToolTipText = "Remove current symbol (works only for first or last symbol in the sequence)";
|
||||||
removeSymbolToolStripMenuItem.Click += removeSymbolToolStripMenuItem_Click;
|
removeSymbolToolStripMenuItem.Click += removeSymbolToolStripMenuItem_Click;
|
||||||
@@ -777,7 +778,7 @@
|
|||||||
removeBeforeToolStripMenuItem.Enabled = false;
|
removeBeforeToolStripMenuItem.Enabled = false;
|
||||||
removeBeforeToolStripMenuItem.Image = Properties.Resources.delete;
|
removeBeforeToolStripMenuItem.Image = Properties.Resources.delete;
|
||||||
removeBeforeToolStripMenuItem.Name = "removeBeforeToolStripMenuItem";
|
removeBeforeToolStripMenuItem.Name = "removeBeforeToolStripMenuItem";
|
||||||
removeBeforeToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
removeBeforeToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
removeBeforeToolStripMenuItem.Text = "Remove all before selected";
|
removeBeforeToolStripMenuItem.Text = "Remove all before selected";
|
||||||
removeBeforeToolStripMenuItem.ToolTipText = "Remove all symbols before current one";
|
removeBeforeToolStripMenuItem.ToolTipText = "Remove all symbols before current one";
|
||||||
removeBeforeToolStripMenuItem.Click += removeBeforeToolStripMenuItem_Click;
|
removeBeforeToolStripMenuItem.Click += removeBeforeToolStripMenuItem_Click;
|
||||||
@@ -787,7 +788,7 @@
|
|||||||
removeAfterToolStripMenuItem.Enabled = false;
|
removeAfterToolStripMenuItem.Enabled = false;
|
||||||
removeAfterToolStripMenuItem.Image = Properties.Resources.delete;
|
removeAfterToolStripMenuItem.Image = Properties.Resources.delete;
|
||||||
removeAfterToolStripMenuItem.Name = "removeAfterToolStripMenuItem";
|
removeAfterToolStripMenuItem.Name = "removeAfterToolStripMenuItem";
|
||||||
removeAfterToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
removeAfterToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
removeAfterToolStripMenuItem.Text = "Remove all after selected";
|
removeAfterToolStripMenuItem.Text = "Remove all after selected";
|
||||||
removeAfterToolStripMenuItem.ToolTipText = "Remove all symbols after current one";
|
removeAfterToolStripMenuItem.ToolTipText = "Remove all symbols after current one";
|
||||||
removeAfterToolStripMenuItem.Click += removeAfterToolStripMenuItem_Click;
|
removeAfterToolStripMenuItem.Click += removeAfterToolStripMenuItem_Click;
|
||||||
@@ -796,7 +797,7 @@
|
|||||||
//
|
//
|
||||||
CodeShiftToolStripMenuItem.Image = Properties.Resources.z_align_center;
|
CodeShiftToolStripMenuItem.Image = Properties.Resources.z_align_center;
|
||||||
CodeShiftToolStripMenuItem.Name = "CodeShiftToolStripMenuItem";
|
CodeShiftToolStripMenuItem.Name = "CodeShiftToolStripMenuItem";
|
||||||
CodeShiftToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
CodeShiftToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
CodeShiftToolStripMenuItem.Text = "Code shift";
|
CodeShiftToolStripMenuItem.Text = "Code shift";
|
||||||
CodeShiftToolStripMenuItem.ToolTipText = "Shift the font on the code line";
|
CodeShiftToolStripMenuItem.ToolTipText = "Shift the font on the code line";
|
||||||
CodeShiftToolStripMenuItem.Click += CodeShiftToolStripMenuItem_Click;
|
CodeShiftToolStripMenuItem.Click += CodeShiftToolStripMenuItem_Click;
|
||||||
@@ -804,13 +805,13 @@
|
|||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
toolStripSeparator3.Name = "toolStripSeparator3";
|
toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
toolStripSeparator3.Size = new System.Drawing.Size(212, 6);
|
toolStripSeparator3.Size = new System.Drawing.Size(238, 6);
|
||||||
//
|
//
|
||||||
// previousSymbolToolStripMenuItem
|
// previousSymbolToolStripMenuItem
|
||||||
//
|
//
|
||||||
previousSymbolToolStripMenuItem.Name = "previousSymbolToolStripMenuItem";
|
previousSymbolToolStripMenuItem.Name = "previousSymbolToolStripMenuItem";
|
||||||
previousSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Left;
|
previousSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Left;
|
||||||
previousSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
previousSymbolToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
previousSymbolToolStripMenuItem.Text = "Previous Symbol";
|
previousSymbolToolStripMenuItem.Text = "Previous Symbol";
|
||||||
previousSymbolToolStripMenuItem.Click += previousSymbolToolStripMenuItem_Click;
|
previousSymbolToolStripMenuItem.Click += previousSymbolToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
@@ -818,20 +819,20 @@
|
|||||||
//
|
//
|
||||||
nextSymbolToolStripMenuItem.Name = "nextSymbolToolStripMenuItem";
|
nextSymbolToolStripMenuItem.Name = "nextSymbolToolStripMenuItem";
|
||||||
nextSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Right;
|
nextSymbolToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.Right;
|
||||||
nextSymbolToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
nextSymbolToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
nextSymbolToolStripMenuItem.Text = "Next symbol";
|
nextSymbolToolStripMenuItem.Text = "Next symbol";
|
||||||
nextSymbolToolStripMenuItem.Click += nextSymbolToolStripMenuItem_Click;
|
nextSymbolToolStripMenuItem.Click += nextSymbolToolStripMenuItem_Click;
|
||||||
//
|
//
|
||||||
// toolStripSeparator4
|
// toolStripSeparator4
|
||||||
//
|
//
|
||||||
toolStripSeparator4.Name = "toolStripSeparator4";
|
toolStripSeparator4.Name = "toolStripSeparator4";
|
||||||
toolStripSeparator4.Size = new System.Drawing.Size(212, 6);
|
toolStripSeparator4.Size = new System.Drawing.Size(238, 6);
|
||||||
//
|
//
|
||||||
// testFontToolStripMenuItem
|
// testFontToolStripMenuItem
|
||||||
//
|
//
|
||||||
testFontToolStripMenuItem.Image = Properties.Resources.font;
|
testFontToolStripMenuItem.Image = Properties.Resources.font;
|
||||||
testFontToolStripMenuItem.Name = "testFontToolStripMenuItem";
|
testFontToolStripMenuItem.Name = "testFontToolStripMenuItem";
|
||||||
testFontToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
|
testFontToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
testFontToolStripMenuItem.Text = "Test font";
|
testFontToolStripMenuItem.Text = "Test font";
|
||||||
testFontToolStripMenuItem.ToolTipText = "Open dialog where you can test the font with any text you type";
|
testFontToolStripMenuItem.ToolTipText = "Open dialog where you can test the font with any text you type";
|
||||||
testFontToolStripMenuItem.Click += TestFont_Click;
|
testFontToolStripMenuItem.Click += TestFont_Click;
|
||||||
@@ -1140,6 +1141,13 @@
|
|||||||
pnlInfo.Size = new System.Drawing.Size(103, 154);
|
pnlInfo.Size = new System.Drawing.Size(103, 154);
|
||||||
pnlInfo.TabIndex = 28;
|
pnlInfo.TabIndex = 28;
|
||||||
//
|
//
|
||||||
|
// zerofyWidthToolStripMenuItem
|
||||||
|
//
|
||||||
|
zerofyWidthToolStripMenuItem.Name = "zerofyWidthToolStripMenuItem";
|
||||||
|
zerofyWidthToolStripMenuItem.Size = new System.Drawing.Size(241, 22);
|
||||||
|
zerofyWidthToolStripMenuItem.Text = "Make all blank symbols 0-width";
|
||||||
|
zerofyWidthToolStripMenuItem.Click += ZerofyBlankWidth;
|
||||||
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||||
@@ -1273,6 +1281,7 @@
|
|||||||
private System.Windows.Forms.Panel pnlInfo;
|
private System.Windows.Forms.Panel pnlInfo;
|
||||||
private System.Windows.Forms.ToolStripMenuItem toggleBarToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem toggleBarToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem zerofyWidthToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -98,6 +98,17 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if a frame is "blank"
|
||||||
|
private static bool IsFrameBlank(FrameMiniature frame) {
|
||||||
|
if (frame.code == 32) return false; // Space character is always blank, so skip it
|
||||||
|
for (int i = 0; i < frame.width; i++) {
|
||||||
|
for (int j = 0; j < frame.height; j++) {
|
||||||
|
if (frame.data[i, j]) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Remember sidebar panels locations
|
// Remember sidebar panels locations
|
||||||
private void SideBarRecalc() {
|
private void SideBarRecalc() {
|
||||||
|
|
||||||
@@ -1633,5 +1644,25 @@ namespace McBitFont {
|
|||||||
}
|
}
|
||||||
PrevNextMenuCheck();
|
PrevNextMenuCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ZerofyBlankWidth(object sender, EventArgs e) {
|
||||||
|
if (monospaced) return; // Does not work for monospaced fonts
|
||||||
|
if (frames.Count < 2) return; // Does not work for single images
|
||||||
|
|
||||||
|
for (int i = 0; i < frames.Count; i++) {
|
||||||
|
if (IsFrameBlank(frames[i])) {
|
||||||
|
Bitmap bmp;
|
||||||
|
|
||||||
|
frames[i] = FrameResize(frames[i], 0, dotHeight);
|
||||||
|
bmp = GetMiniPictue(frames[i]);
|
||||||
|
string s = frames[i].code.ToString().PadLeft(3, '0');
|
||||||
|
ilMiniatures.Images.RemoveByKey(s);
|
||||||
|
ilMiniatures.Images.Add(s, (Image)bmp);
|
||||||
|
miniList.Items[s].ImageKey = s;
|
||||||
|
|
||||||
|
SetModified(true, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user