mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2025-02-16 23:30:52 +00:00
refactoring
This commit is contained in:
parent
7b6c75eb93
commit
d5d10b4e6a
@ -48,7 +48,7 @@ public class QuickDrawFont extends AbstractFile
|
|||||||
private final int offsetWidthTableOffset;
|
private final int offsetWidthTableOffset;
|
||||||
private int offsetWidthTableSize;
|
private int offsetWidthTableSize;
|
||||||
|
|
||||||
private final BitSet[] strike; // bit image of all characters
|
private BitSet[] strike; // bit image of all characters
|
||||||
|
|
||||||
public QuickDrawFont (String name, byte[] buffer, int fileType, int auxType)
|
public QuickDrawFont (String name, byte[] buffer, int fileType, int auxType)
|
||||||
{
|
{
|
||||||
@ -107,6 +107,14 @@ public class QuickDrawFont extends AbstractFile
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
createStrike ();
|
||||||
|
createCharacters ();
|
||||||
|
if (!corrupt)
|
||||||
|
buildDisplay ();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void createStrike ()
|
||||||
|
{
|
||||||
// create bitset for each row
|
// create bitset for each row
|
||||||
strike = new BitSet[fRectHeight];
|
strike = new BitSet[fRectHeight];
|
||||||
for (int i = 0; i < fRectHeight; i++)
|
for (int i = 0; i < fRectHeight; i++)
|
||||||
@ -115,13 +123,17 @@ public class QuickDrawFont extends AbstractFile
|
|||||||
// convert image data to bitset
|
// convert image data to bitset
|
||||||
int rowLenBits = rowWords * 16; // # bits in each row
|
int rowLenBits = rowWords * 16; // # bits in each row
|
||||||
int rowLenBytes = rowWords * 2; // # bytes in each row
|
int rowLenBytes = rowWords * 2; // # bytes in each row
|
||||||
for (int row = 0; row < fRectHeight; row++) // for each row
|
|
||||||
for (int j = 0; j < rowLenBits; j++) // for each bit in the row
|
for (int row = 0; row < fRectHeight; row++) // for each row in character
|
||||||
|
for (int bit = 0; bit < rowLenBits; bit++) // for each bit in the row
|
||||||
{
|
{
|
||||||
byte b = buffer[bitImageOffset + row * rowLenBytes + j / 8];
|
byte b = buffer[bitImageOffset + row * rowLenBytes + bit / 8];
|
||||||
strike[row].set (j, ((b & (0x80 >>> (j % 8))) != 0));
|
strike[row].set (bit, ((b & (0x80 >>> (bit % 8))) != 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void createCharacters ()
|
||||||
|
{
|
||||||
for (int i = 0, max = totalCharacters + 1; i < max; i++)
|
for (int i = 0, max = totalCharacters + 1; i < max; i++)
|
||||||
{
|
{
|
||||||
// index into the strike
|
// index into the strike
|
||||||
@ -144,7 +156,10 @@ public class QuickDrawFont extends AbstractFile
|
|||||||
characters.put (i, new Character (location, pixelWidth));
|
characters.put (i, new Character (location, pixelWidth));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buildDisplay ()
|
||||||
|
{
|
||||||
int inset = 10;
|
int inset = 10;
|
||||||
int spacing = 5;
|
int spacing = 5;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user