[SWE3028-41] Capstone Design
Contact e-mail : [email protected]
Document : proposal, final
We developed web-service(GANdan-fontmaker) based on Dual Memory-Augmented Font Generation Network(DM-font). Our service provides two distinctive functions; combining people’s font style and re-correcting font style for satisfying user needs.
conda install --name CONDA_ENV_NAME --file requirements.txt
Note that using different version of required packages can effects the results, especially PyTorch. The implementations are tested on Python 3.7+
.
├── dmfont # From Capstone-project directory
├── Capstone-project # At first, contains dmfont, and ProgramFiles directories
│ ├── FlaskProj
│ ├── web1
│ └── ...
└── ProgramFiles # From Capstone-project directory
.
├── dmfont
├── Capstone-project
│ ├── FlaskProj
│ │ ├── HelloWorld.py # modify the localPath
│ │ ├── Png2Svg.py # modify the localPath
│ │ ├── Svg2Ttf.py # modify the localPath
│ │ ├── Template.py # modify the localPath, webPublicPath, popplerPath
│ │ └── ...
└── ProgramFiles
DM-font : Few-shot Compositional Font Generation with Dual Memory
-> paper
FontForge : Fully formatted font editor that can support all plain font formats, To Convert SVG to TTF
-> Download FontForge for Windows : "FontForge-2020-11-07-Windows.exe", and install.
ImageMagick : Opensource used to create or fix graphic images, To Convert PNG to PNM
-> Download Latest Version: "ImageMagick-7.1.0-17-Q16-HDRI-x64-dll.exe" and install it, and add the path to your SYSTEM PATH
Poppler : Library that performs PDF document rendering
-> Download Latest binary : "poppler-0.68.0_x86" from this website, unzip it in ProgramFiles directory
potrace : Cross-platform that converts bitmap images into vector graphics,To Convert PNM to SVG
-> Already installed and uploaded to Github, so no need to re-download.
Data sources for Korean-handwriting datasets were built from UhBee fonts. For running the DM-font, pretrained model below.
● Checkpoint trained on the Korean-handwriting dataset
.
├── dmfont
│ ├── checkpoints # Make directory named "checkpoints"
│ │ ├── korean-handwriting.pth # Download Pretrained model
│ └── ...
└── ...
.
├── dmfont
├── Capstone-project # set the terminal(1) on this directory
│ ├── web1 # set the terminal(2) on this directory
│ ├── FlaskProj # set the terminal(3) on this directory
│ └── ...
└── ProgramFiles
In terminal(1) Server using node.js will run.
In terminal(2) Frontend using React will run.
In terminal(3) Flask server will run.
terminal(1)> node server
terminal(2)> npm start
terminal(3)> python HelloWorld.py
You can test on localhost:3000/
You can get the project information and Demo HERE
Main page : You can download template, or move to the page to generate a font for either one or more users.
Multiple user page : upload templates with handwritings and choose among initial, medial, final consonants.
One user page : Just upload template and submit. When a font is generated by DM-font model, it is checked whether you want to get the AS service or not before converting to a ttf format file
AS service page : Choose the consonants you didn't like or want to modify, and write the letters when you get Get button on template, and submit again.