Menu

FIG to ICO

← TOC    ↑ Home    Fig TeX TeX PDF EPS SVG PNG JPEG ICO XPM

FIG to ICO

This page shows how to convert a FIG file named x.fig from XFig, jFig or WinFIG into a Windows icon file.

The FIG drawing must be a 1 inch × 1 inch square.


Choice 1: Use gxhconvert

Procedure

gxhconvert -o=ico x.fig

See the [gxhconvert manual] for a full description of the gxhconvert script.

Options

Option Purpose
-a
--alpha
Create alpha channel. Untouched input regions result in transparent output regions.
--pgf Use PGF instructions in the intermediate *.tex file instead of including a *.pdf file.

Choice 2: Manual conversion, create alpha channel

Step 1: Create LaTeX document

fig2lat -ltex.pdf x.fig

or alternatively

fig2lat -ltex x.fig

to use PGF graphics instructions.

Step 2: Create PDF file

pdflatex -interaction=nonstopmode x

Step 3: Convert PDF to SVG

pdf2svg x.pdf x.svg

Step 4: Create 32 bit color PNG files

inkscape --batch-process --export-type=png --export-overwrite --export-filename=x-48.png --export-dpi=48 --export-area-page x.svg
inkscape --batch-process --export-type=png --export-overwrite --export-filename=x-32.png --export-dpi=32 --export-area-page x.svg
inkscape --batch-process --export-type=png --export-overwrite --export-filename=x-24.png --export-dpi=24 --export-area-page x.svg
inkscape --batch-process --export-type=png --export-overwrite --export-filename=x-16.png --export-dpi=16 --export-area-page x.svg

Step 5: Create 8 bit color PNG files

pngnq x-48.png
pngnq x-32.png
pngnq x-24.png
pngnq x-16.png

Step 6: Create alpha PGM files

pngtopam -alpha x-48.png > x-48.pgm
pngtopam -alpha x-32.png > x-32.pgm
pngtopam -alpha x-24.png > x-24.pgm
pngtopam -alpha x-16.png > x-16.pgm

Step 7: Create 24 bit PPM files

pngtopam -mix x-48.png > x-48-24.ppm
pngtopam -mix x-32.png > x-32-24.ppm
pngtopam -mix x-24.png > x-24-24.ppm
pngtopam -mix x-16.png > x-16-24.ppm

Step 8: Create 8 bit PPM files

pngtopam -mix x-48-nq8.png > x-48-08.ppm
pngtopam -mix x-32-nq8.png > x-32-08.ppm
pngtopam -mix x-24-nq8.png > x-24-08.ppm
pngtopam -mix x-16-nq8.png > x-16-08.ppm

Step 9: Create 4 bit PPM files

pnmquant 16 x-48-24.ppm > x-48-04.ppm
pnmquant 16 x-32-24.ppm > x-32-04.ppm
pnmquant 16 x-24-24.ppm > x-24-04.ppm
pnmquant 16 x-16-24.ppm > x-16-04.ppm

Step 10: Produce ICO file

PPMS="x-48-24.ppm x-48.pgm x-48-08.ppm x-48.pgm x-48-04.ppm x-48.pgm"
PPMS="$PPMS x-32-24.ppm x-32.pgm x-32-08.ppm x-32.pgm x-32-04.ppm x-32.pgm"
PPMS="$PPMS x-24-24.ppm x-24.pgm x-24-08.ppm x-24.pgm x-24-04.ppm x-24.pgm"
PPMS="$PPMS x-16-24.ppm x-16.pgm x-16-08.ppm x-16.pgm x-16-04.ppm x-16.pgm"
ppmtowinicon -andpgms -truetransparent -output=x.ico $PPMS

Temporary files

  • x.tex
  • x-i.pdf
  • x.pdf
  • x.svg
  • x-48.png
  • x-48-nq8.png
  • x-48.pgm
  • x-48-24.ppm
  • x-48-08.ppm
  • x-48-04.ppm
  • x-32.png
  • x-32-nq8.png
  • x-32.pgm
  • x-32-24.ppm
  • x-32-08.ppm
  • x-32-04.ppm
  • x-24.png
  • x-24-nq8.png
  • x-24.pgm
  • x-24-24.ppm
  • x-24-08.ppm
  • x-24-04.ppm
  • x-16.png
  • x-16-nq8.png
  • x-16.pgm
  • x-16-24.ppm
  • x-16-08.ppm
  • x-16-04.ppm

Choice 3: Manual conversion, do not create an alpha channel

Step 1: Create LaTeX document

fig2lat -ltex.pdf x.fig

Step 2: Produce PDF file

pdflatex -interaction=nonstopmode x

Step 3: Create 24-bit color PPM files

pdftoppm -r 48 x.pdf > x-48-24.ppm
pdftoppm -r 32 x.pdf > x-32-24.ppm
pdftoppm -r 24 x.pdf > x-24-24.ppm
pdftoppm -r 16 x.pdf > x-16-24.ppm

Step 4: Create 24-bit color PNG files

pnmtopng x-48-24.ppm > x-48.png
pnmtopng x-32-24.ppm > x-32.png
pnmtopng x-24-24.ppm > x-24.png
pnmtopng x-16-24.ppm > x-16.png

Step 5: Create 8-bit color PNG files

pngnq x-48.png
pngnq x-32.png
pngnq x-24.png
pngnq x-16.png

Step 6: Create 8-bit PPM files

pngtopam -mix x-48-nq8.png > x-48-08.ppm
pngtopam -mix x-32-nq8.png > x-32-08.ppm
pngtopam -mix x-24-nq8.png > x-24-08.ppm
pngtopam -mix x-16-nq8.png > x-16-08.ppm

Step 7: Create 4-bit PPM files

pnmquant 16 x-48-24.ppm > x-48-04.ppm
pnmquant 16 x-32-24.ppm > x-32-04.ppm
pnmquant 16 x-24-24.ppm > x-24-04.ppm
pnmquant 16 x-16-24.ppm > x-16-04.ppm

Step 8: Produce ICO file

PPMS="x-48-24.ppm x-48-08.ppm x-48-04.ppm"
PPMS="$PPMS x-32-24.ppm x-32-08.ppm x-32-04.ppm"
PPMS="$PPMS x-24-24.ppm x-24-08.ppm x-24-04.ppm"
PPMS="$PPMS x-16-24.ppm x-16-08.ppm x-16-04.ppm"
ppmtowinicon -output=x.ico $PPMS

Temporary files

  • x.map
  • x.tex
  • x-i.pdf
  • x.pdf
  • x.svg
  • x-48.png
  • x-48-nq8.png
  • x-48-24.ppm
  • x-48-08.ppm
  • x-48-04.ppm
  • x-32.png
  • x-32-nq8.png
  • x-32-24.ppm
  • x-32-08.ppm
  • x-32-04.ppm
  • x-24.png
  • x-24-nq8.png
  • x-24-24.ppm
  • x-24-08.ppm
  • x-24-04.ppm
  • x-16.png
  • x-16-nq8.png
  • x-16-24.ppm
  • x-16-08.ppm
  • x-16-04.ppm
← TOC    ↑ Home    Fig TeX TeX PDF EPS SVG PNG JPEG ICO XPM

Related

Wiki: gxhconvert manual