Ubuntu Monospace font
This commit is contained in:
parent
73981aca6f
commit
46338d2b93
6 changed files with 110 additions and 125 deletions
|
|
@ -1,3 +1,4 @@
|
||||||
Manifest-Version: 1.0
|
Manifest-Version: 1.0
|
||||||
Main-Class: net.infordata.em.Main
|
Main-Class: net.infordata.em.Main
|
||||||
|
Created-By: 17.0.13 (Debian)
|
||||||
|
|
||||||
|
|
|
||||||
7
build.sh
7
build.sh
|
|
@ -3,7 +3,7 @@
|
||||||
# Let's go to the folder containing the build.sh file
|
# Let's go to the folder containing the build.sh file
|
||||||
# We don't want to remove all .class files on the system should
|
# We don't want to remove all .class files on the system should
|
||||||
# the script run on /
|
# the script run on /
|
||||||
VERSION="0.1-1.19i"
|
VERSION="0.2.1"
|
||||||
BASEDIR=$(dirname $0)
|
BASEDIR=$(dirname $0)
|
||||||
echo $BASEDIR
|
echo $BASEDIR
|
||||||
cd $BASEDIR
|
cd $BASEDIR
|
||||||
|
|
@ -13,9 +13,10 @@ cd $BASEDIR
|
||||||
find . -name "*.class" | xargs rm -rf
|
find . -name "*.class" | xargs rm -rf
|
||||||
|
|
||||||
find . -name "*.java" > .javasources.txt
|
find . -name "*.java" > .javasources.txt
|
||||||
javac -target 7 -source 7 -encoding "ISO8859-1" @.javasources.txt
|
javac -encoding "ISO8859-1" @.javasources.txt
|
||||||
#rm -f .javasources.txt
|
#rm -f .javasources.txt
|
||||||
|
|
||||||
JARFILE="xtn5250mg-${VERSION}.jar"
|
JARFILE="xtn5250mg-${VERSION}.jar"
|
||||||
rm -f $JARFILE
|
rm -f $JARFILE
|
||||||
jar cvmf META-INF/MANIFEST.MF $JARFILE build.sh net README logging.properties -C res res
|
jar cvmf META-INF/MANIFEST.MF $JARFILE build.sh net -C res res
|
||||||
|
find . -name "*.class" | xargs rm -rf
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@ import net.infordata.em.crt5250.XI5250Field;
|
||||||
import net.infordata.em.crt5250.XIEbcdicTranslator;
|
import net.infordata.em.crt5250.XIEbcdicTranslator;
|
||||||
import net.infordata.em.tn5250.XI5250Emulator;
|
import net.infordata.em.tn5250.XI5250Emulator;
|
||||||
import net.infordata.em.tn5250.XI5250Frame;
|
import net.infordata.em.tn5250.XI5250Frame;
|
||||||
import net.infordata.em.tn5250ext.PSHBTNCHCHandler;
|
//import net.infordata.em.tn5250ext.PSHBTNCHCHandler;
|
||||||
import net.infordata.em.tn5250ext.XI5250EmulatorExt;
|
//import net.infordata.em.tn5250ext.XI5250EmulatorExt;
|
||||||
import net.infordata.em.tn5250ext.XI5250PanelHandler;
|
//import net.infordata.em.tn5250ext.XI5250PanelHandler;
|
||||||
import net.infordata.em.tn5250ext.XI5250PanelsDispatcher;
|
//import net.infordata.em.tn5250ext.XI5250PanelsDispatcher;
|
||||||
import net.infordata.em.tn5250.XIImagesBdl;
|
import net.infordata.em.tn5250.XIImagesBdl;
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ public class Main {
|
||||||
|
|
||||||
private static void usageError(String msg) {
|
private static void usageError(String msg) {
|
||||||
System.err.println(msg);
|
System.err.println(msg);
|
||||||
System.err.println("Usage: [-3dFX] [-PSHBTNCHC] [-STRPCCMD] [-altFKeyRemap]" +
|
System.err.println("Usage: [-3dFX] /*[-PSHBTNCHC]*/ [-STRPCCMD] [-altFKeyRemap]" +
|
||||||
" [-maximized] [-cp codepage] [-devName name]" +
|
" [-maximized] [-cp codepage] [-devName name]" +
|
||||||
" [-autoLogon <fieldsCount>;<usrFieldLabel>;<pwdFieldLabel>;<user>;<passwd>]" +
|
" [-autoLogon <fieldsCount>;<usrFieldLabel>;<pwdFieldLabel>;<user>;<passwd>]" +
|
||||||
" host-name");
|
" host-name");
|
||||||
|
|
@ -59,11 +59,7 @@ public class Main {
|
||||||
fntSize = fontSize;
|
fntSize = fontSize;
|
||||||
}
|
}
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try {
|
is = theClass.getResourceAsStream("/res/ubuntu-mono-regular.ttf");
|
||||||
is = new FileInputStream("/tmp/Inconsolata.otf");
|
|
||||||
} catch (FileNotFoundException ex) {
|
|
||||||
System.err.println("file not found font : " + ex);
|
|
||||||
}
|
|
||||||
Font font = null;
|
Font font = null;
|
||||||
try {
|
try {
|
||||||
System.err.println(" createFont Testing res/" + fontFileName + " ... ");
|
System.err.println(" createFont Testing res/" + fontFileName + " ... ");
|
||||||
|
|
@ -90,7 +86,7 @@ public class Main {
|
||||||
|
|
||||||
boolean pUse3dFX = false;
|
boolean pUse3dFX = false;
|
||||||
boolean pAltFKeyRemap = false;
|
boolean pAltFKeyRemap = false;
|
||||||
boolean pPSHBTNCHC = false;
|
//boolean pPSHBTNCHC = false;
|
||||||
boolean pSTRPCCMD = false;
|
boolean pSTRPCCMD = false;
|
||||||
boolean pMaximized = false;
|
boolean pMaximized = false;
|
||||||
|
|
||||||
|
|
@ -107,8 +103,8 @@ public class Main {
|
||||||
if (arg.startsWith("-")) {
|
if (arg.startsWith("-")) {
|
||||||
if ("-3dfx".equalsIgnoreCase(arg))
|
if ("-3dfx".equalsIgnoreCase(arg))
|
||||||
pUse3dFX = true;
|
pUse3dFX = true;
|
||||||
else if ("-PSHBTNCHC".equalsIgnoreCase(arg))
|
// else if ("-PSHBTNCHC".equalsIgnoreCase(arg))
|
||||||
pPSHBTNCHC = true;
|
// pPSHBTNCHC = true;
|
||||||
else if ("-STRPCCMD".equalsIgnoreCase(arg))
|
else if ("-STRPCCMD".equalsIgnoreCase(arg))
|
||||||
pSTRPCCMD = true;
|
pSTRPCCMD = true;
|
||||||
else if ("-maximized".equalsIgnoreCase(arg))
|
else if ("-maximized".equalsIgnoreCase(arg))
|
||||||
|
|
@ -155,7 +151,7 @@ public class Main {
|
||||||
|
|
||||||
final boolean altFKeyRemap = pAltFKeyRemap;
|
final boolean altFKeyRemap = pAltFKeyRemap;
|
||||||
final boolean use3dFX = pUse3dFX;
|
final boolean use3dFX = pUse3dFX;
|
||||||
final boolean enablePSHBTNCHC = pPSHBTNCHC;
|
// final boolean enablePSHBTNCHC = pPSHBTNCHC;
|
||||||
final boolean enableSTRPCCMD = pSTRPCCMD;
|
final boolean enableSTRPCCMD = pSTRPCCMD;
|
||||||
final boolean maximized = pMaximized;
|
final boolean maximized = pMaximized;
|
||||||
final String host = pHost;
|
final String host = pHost;
|
||||||
|
|
@ -166,25 +162,26 @@ public class Main {
|
||||||
SwingUtilities.invokeAndWait(new Runnable() {
|
SwingUtilities.invokeAndWait(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
XI5250Emulator em;
|
XI5250Emulator em;
|
||||||
if (enablePSHBTNCHC) {
|
// if (enablePSHBTNCHC) {
|
||||||
XI5250EmulatorExt emext = new XI5250EmulatorExt();
|
// XI5250EmulatorExt emext = new XI5250EmulatorExt();
|
||||||
PanelsDispatcher disp = new PanelsDispatcher();
|
// PanelsDispatcher disp = new PanelsDispatcher();
|
||||||
disp.setEmulator(emext);
|
// disp.setEmulator(emext);
|
||||||
new PSHBTNCHCHandler(disp);
|
// new PSHBTNCHCHandler(disp);
|
||||||
if (autoLogonInfo != null)
|
// if (autoLogonInfo != null)
|
||||||
new AutoLogonHandler(disp, autoLogonInfo);
|
// new AutoLogonHandler(disp, autoLogonInfo);
|
||||||
em = emext;
|
// em = emext;
|
||||||
}
|
// }
|
||||||
else if (autoLogonInfo != null) {
|
// else if (autoLogonInfo != null) {
|
||||||
XI5250EmulatorExt emext = new XI5250EmulatorExt();
|
// if (autoLogonInfo != null) {
|
||||||
PanelsDispatcher disp = new PanelsDispatcher();
|
// XI5250EmulatorExt emext = new XI5250EmulatorExt();
|
||||||
disp.setEmulator(emext);
|
// PanelsDispatcher disp = new PanelsDispatcher();
|
||||||
new AutoLogonHandler(disp, autoLogonInfo);
|
// disp.setEmulator(emext);
|
||||||
em = emext;
|
// new AutoLogonHandler(disp, autoLogonInfo);
|
||||||
}
|
// em = emext;
|
||||||
else {
|
// }
|
||||||
|
// else {
|
||||||
em = new XI5250Emulator();
|
em = new XI5250Emulator();
|
||||||
}
|
// }
|
||||||
em.setTerminalType("IBM-3477-FC");
|
em.setTerminalType("IBM-3477-FC");
|
||||||
em.setKeyboardQueue(true);
|
em.setKeyboardQueue(true);
|
||||||
|
|
||||||
|
|
@ -200,11 +197,8 @@ public class Main {
|
||||||
em.setActive(true);
|
em.setActive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
Font mahefaFont = loadFontFromResource(Main.class, "MonoSpaced", 1);
|
|
||||||
em.setFont(mahefaFont);
|
|
||||||
XI5250Frame frm = new XI5250Frame("xtn5250mg" + " " +
|
XI5250Frame frm = new XI5250Frame("xtn5250mg" + " " +
|
||||||
XI5250Emulator.VERSION, em);
|
XI5250Emulator.VERSION, em);
|
||||||
frm.setFont(mahefaFont);
|
|
||||||
frm.setIconImage(cvImagesBdl.getImage("Logo"));
|
frm.setIconImage(cvImagesBdl.getImage("Logo"));
|
||||||
|
|
||||||
frm.addWindowListener(new WindowAdapter() {
|
frm.addWindowListener(new WindowAdapter() {
|
||||||
|
|
@ -240,36 +234,36 @@ public class Main {
|
||||||
|
|
||||||
//////
|
//////
|
||||||
|
|
||||||
private static class PanelsDispatcher extends XI5250PanelsDispatcher {
|
// private static class PanelsDispatcher extends XI5250PanelsDispatcher {
|
||||||
|
//
|
||||||
private AutoLogonHandler ivAutoLogonHandler;
|
// private AutoLogonHandler ivAutoLogonHandler;
|
||||||
private XI5250PanelHandler ivHandler;
|
// private XI5250PanelHandler ivHandler;
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public synchronized void addPanelHandler(XI5250PanelHandler panel) {
|
// public synchronized void addPanelHandler(XI5250PanelHandler panel) {
|
||||||
if (panel instanceof AutoLogonHandler) {
|
// if (panel instanceof AutoLogonHandler) {
|
||||||
if (ivAutoLogonHandler != null)
|
// if (ivAutoLogonHandler != null)
|
||||||
throw new IllegalArgumentException("Handler already setted");
|
// throw new IllegalArgumentException("Handler already setted");
|
||||||
ivAutoLogonHandler = (AutoLogonHandler)panel;
|
// ivAutoLogonHandler = (AutoLogonHandler)panel;
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (ivHandler != null)
|
// if (ivHandler != null)
|
||||||
throw new IllegalArgumentException("Handler already setted");
|
// throw new IllegalArgumentException("Handler already setted");
|
||||||
ivHandler = panel;
|
// ivHandler = panel;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
protected synchronized XI5250PanelHandler getCurrentPanelHandler() {
|
// protected synchronized XI5250PanelHandler getCurrentPanelHandler() {
|
||||||
return (ivAutoLogonHandler != null && ivAutoLogonHandler.detailedTest()) ? ivAutoLogonHandler : ivHandler;
|
// return (ivAutoLogonHandler != null && ivAutoLogonHandler.detailedTest()) ? ivAutoLogonHandler : ivHandler;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
public synchronized void removePanelHandler(XI5250PanelHandler panel) {
|
// public synchronized void removePanelHandler(XI5250PanelHandler panel) {
|
||||||
if (ivHandler != panel)
|
// if (ivHandler != panel)
|
||||||
throw new IllegalArgumentException("Not the registered handler " + panel);
|
// throw new IllegalArgumentException("Not the registered handler " + panel);
|
||||||
ivHandler = null;
|
// ivHandler = null;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
//////
|
//////
|
||||||
|
|
||||||
|
|
@ -300,48 +294,48 @@ public class Main {
|
||||||
|
|
||||||
//////
|
//////
|
||||||
|
|
||||||
private static class AutoLogonHandler extends XI5250PanelHandler {
|
// private static class AutoLogonHandler extends XI5250PanelHandler {
|
||||||
|
//
|
||||||
private final LogonInfo ivLogonInfo;
|
// private final LogonInfo ivLogonInfo;
|
||||||
private boolean ivLoggedOn;
|
// private boolean ivLoggedOn;
|
||||||
|
//
|
||||||
public AutoLogonHandler(XI5250PanelsDispatcher aPanelDisp, LogonInfo info) {
|
// public AutoLogonHandler(XI5250PanelsDispatcher aPanelDisp, LogonInfo info) {
|
||||||
super(aPanelDisp);
|
// super(aPanelDisp);
|
||||||
ivLogonInfo = info;
|
// ivLogonInfo = info;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
protected boolean detailedTest() {
|
// protected boolean detailedTest() {
|
||||||
if (ivLoggedOn)
|
// if (ivLoggedOn)
|
||||||
return false;
|
// return false;
|
||||||
// I'm expecting xx fields in the logon panel
|
// // I'm expecting xx fields in the logon panel
|
||||||
if (getFields().size() != ivLogonInfo.fieldsCount)
|
// if (getFields().size() != ivLogonInfo.fieldsCount)
|
||||||
return false;
|
// return false;
|
||||||
// Is there the user id field ?
|
// // Is there the user id field ?
|
||||||
if (!checkField(getFieldNextTo(ivLogonInfo.userLabel), 10))
|
// if (!checkField(getFieldNextTo(ivLogonInfo.userLabel), 10))
|
||||||
return false;
|
// return false;
|
||||||
// Is there the password field ?
|
// // Is there the password field ?
|
||||||
if (!checkField(getFieldNextTo(ivLogonInfo.passwdLabel), 10))
|
// if (!checkField(getFieldNextTo(ivLogonInfo.passwdLabel), 10))
|
||||||
return false;
|
// return false;
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
protected void start() {
|
// protected void start() {
|
||||||
ivLoggedOn = true;
|
// ivLoggedOn = true;
|
||||||
// Start logon panel processing
|
// // Start logon panel processing
|
||||||
XI5250Field userField = getFieldNextTo(ivLogonInfo.userLabel);
|
// XI5250Field userField = getFieldNextTo(ivLogonInfo.userLabel);
|
||||||
XI5250Field passwdField = getFieldNextTo(ivLogonInfo.passwdLabel);
|
// XI5250Field passwdField = getFieldNextTo(ivLogonInfo.passwdLabel);
|
||||||
userField.setString(ivLogonInfo.user); // Your user id
|
// userField.setString(ivLogonInfo.user); // Your user id
|
||||||
passwdField.setString(ivLogonInfo.passwd); // Your password
|
// passwdField.setString(ivLogonInfo.passwd); // Your password
|
||||||
// Simulate the user ENTER key pressed
|
// // Simulate the user ENTER key pressed
|
||||||
getEmulator().processRawKeyEvent(
|
// getEmulator().processRawKeyEvent(
|
||||||
new KeyEvent(getEmulator(), KeyEvent.KEY_PRESSED,
|
// new KeyEvent(getEmulator(), KeyEvent.KEY_PRESSED,
|
||||||
0, 0, KeyEvent.VK_ENTER, KeyEvent.CHAR_UNDEFINED));
|
// 0, 0, KeyEvent.VK_ENTER, KeyEvent.CHAR_UNDEFINED));
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
@Override
|
// @Override
|
||||||
protected void stop() {
|
// protected void stop() {
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -142,11 +142,7 @@ public class XICrt extends JComponent implements Serializable {
|
||||||
fntSize = fontSize;
|
fntSize = fontSize;
|
||||||
}
|
}
|
||||||
InputStream is = null;
|
InputStream is = null;
|
||||||
try {
|
is = theClass.getResourceAsStream("/res/ubuntu-mono-regular.ttf");
|
||||||
is = new FileInputStream("/tmp/x.ttf");
|
|
||||||
} catch (FileNotFoundException ex) {
|
|
||||||
System.err.println("file not found font : " + ex);
|
|
||||||
}
|
|
||||||
Font font = null;
|
Font font = null;
|
||||||
try {
|
try {
|
||||||
System.err.println(" createFont Testing res/" + fontFileName + " ... ");
|
System.err.println(" createFont Testing res/" + fontFileName + " ... ");
|
||||||
|
|
@ -173,17 +169,11 @@ public class XICrt extends JComponent implements Serializable {
|
||||||
setFreeze(true);
|
setFreeze(true);
|
||||||
setOpaque(true);
|
setOpaque(true);
|
||||||
|
|
||||||
/*
|
|
||||||
if (XIUtil.is1dot2)
|
|
||||||
setFont(new Font("Monospaced", Font.PLAIN, MIN_FONT_SIZE));
|
|
||||||
else
|
|
||||||
*/
|
|
||||||
Font inconsolata = loadFontFromResource(XICrt.class, "MonoSpaced", MIN_FONT_SIZE);
|
Font inconsolata = loadFontFromResource(XICrt.class, "MonoSpaced", MIN_FONT_SIZE);
|
||||||
setFont(inconsolata);
|
setFont(inconsolata);
|
||||||
//setFont(new Font("Monospaced", Font.PLAIN, MIN_FONT_SIZE));
|
//setFont(new Font("Monospaced", Font.PLAIN, MIN_FONT_SIZE));
|
||||||
setLayout(null);
|
setLayout(null);
|
||||||
setCrtBuffer(createCrtBuffer(80, 24));
|
setCrtBuffer(createCrtBuffer(80, 24));
|
||||||
setBackground(Color.red);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -870,8 +860,7 @@ public class XICrt extends JComponent implements Serializable {
|
||||||
|
|
||||||
crt.drawString("eccome" + '!', 0, 1);
|
crt.drawString("eccome" + '!', 0, 1);
|
||||||
|
|
||||||
crt.setBackground(Color.green);
|
crt.setBackground(Color.yellow);
|
||||||
|
|
||||||
|
|
||||||
frm.getContentPane().add(crt);
|
frm.getContentPane().add(crt);
|
||||||
frm.setBounds(0, 0, 600, 500);
|
frm.setBounds(0, 0, 600, 500);
|
||||||
|
|
|
||||||
BIN
res/Monospaced
Normal file
BIN
res/Monospaced
Normal file
Binary file not shown.
BIN
res/ubuntu-mono-regular.ttf
Normal file
BIN
res/ubuntu-mono-regular.ttf
Normal file
Binary file not shown.
Loading…
Add table
Reference in a new issue