Added font icon generate+merge pipeline
This commit is contained in:
51
tools/src/mindustry/tools/FontGenerator.java
Normal file
51
tools/src/mindustry/tools/FontGenerator.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package mindustry.tools;
|
||||
|
||||
import arc.*;
|
||||
import arc.files.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
/* icon font pipeline:
|
||||
1. take set of pre-defined icons and SVGs
|
||||
2. use Fontello API to get a font with these
|
||||
3. combine fontello font and standard font, get output font
|
||||
4. use apache ttf API to generate a file with constants for every icon size+type (during annotation processing)
|
||||
*/
|
||||
public class FontGenerator{
|
||||
|
||||
public static void main(String[] args){
|
||||
Net net = Core.net = new Net();
|
||||
net.setBlock(true);
|
||||
Fi folder = Fi.get("core/assets-raw/fontgen/out/");
|
||||
folder.mkdirs();
|
||||
|
||||
Log.info("Session...");
|
||||
|
||||
OS.exec("curl", "--fail", "--output", "core/assets-raw/fontgen/out/session", "--form", "config=@core/assets-raw/fontgen/config.json", "http://fontello.com");
|
||||
|
||||
Log.info("Zip...");
|
||||
|
||||
String session = folder.child("session").readString();
|
||||
net.httpGet("http://fontello.com/" + session + "/get", result -> {
|
||||
try{
|
||||
Streams.copyStream(result.getResultAsStream(), folder.child("font.zip").write());
|
||||
}catch(IOException e){
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}, Log::err);
|
||||
|
||||
Log.info("Icon font...");
|
||||
|
||||
ZipFi zip = new ZipFi(folder.child("font.zip"));
|
||||
Fi dest = folder.child("font.ttf");
|
||||
zip.list()[0].child("font").child("fontello.ttf").copyTo(dest);
|
||||
|
||||
Log.info("Merge...");
|
||||
|
||||
OS.exec("fontforge", "-script", "core/assets-raw/fontgen/merge.pe");
|
||||
|
||||
Log.info("Done.");
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
package mindustry.tools;
|
||||
|
||||
import arc.*;
|
||||
import arc.struct.*;
|
||||
import arc.files.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.graphics.g2d.TextureAtlas.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.*;
|
||||
import arc.util.Log.*;
|
||||
import mindustry.*;
|
||||
@@ -18,7 +18,7 @@ public class ImagePacker{
|
||||
static ObjectMap<String, TextureRegion> regionCache = new ObjectMap<>();
|
||||
static ObjectMap<TextureRegion, BufferedImage> imageCache = new ObjectMap<>();
|
||||
|
||||
public static void main(String[] args){
|
||||
public static void main(String[] args) throws Exception{
|
||||
Vars.headless = true;
|
||||
|
||||
Log.setLogger(new NoopLogHandler());
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
package mindustry.tools;
|
||||
|
||||
import arc.Core;
|
||||
import arc.files.Fi;
|
||||
import arc.graphics.Color;
|
||||
import arc.graphics.Pixmap;
|
||||
import arc.graphics.g2d.Draw;
|
||||
import arc.graphics.g2d.Fill;
|
||||
import arc.graphics.gl.FrameBuffer;
|
||||
import arc.util.ScreenUtils;
|
||||
import arc.util.Tmp;
|
||||
import arc.*;
|
||||
import arc.files.*;
|
||||
import arc.graphics.*;
|
||||
import arc.graphics.g2d.*;
|
||||
import arc.graphics.gl.*;
|
||||
import arc.util.*;
|
||||
|
||||
public class SquareMarcher{
|
||||
final int resolution;
|
||||
|
||||
@@ -8,6 +8,7 @@ import arc.graphics.g2d.*;
|
||||
import arc.util.*;
|
||||
import mindustry.ui.*;
|
||||
|
||||
//TODO remove
|
||||
public class Upscaler{
|
||||
public static void main(String[] args){
|
||||
new SdlApplication(new ApplicationListener(){
|
||||
|
||||
Reference in New Issue
Block a user