#!/bin/sed -nf # usage: sed -nf text2ps.sed text.txt > text.ps 1 { h s/.*/1/ x } 1 i\ %!PS-Adobe-3.0\ %%BoundingBox: 0 0 595 841 % <-- set paper width and height (A4) here and...\ %%EndComments\ %%BeginProlog\ /paperwidth 595 /paperheight 841 def def\ % <--- ... here again (A4 portrate)\ /fontsize 10 def % <--- set fontsize here\ /fontname /Ryumin-Light-UniJIS-UTF8-H def % <--- sef fontname here\ % /fontname /GothicBBB-Medium-UniJIS-UTF8-H def % <--- maybe you like this\ /spacing 5 def % <--- set line spacing here\ /leftmargin 80 def % <--- set left margin here\ /uppermargin 100 def % <--- set upper margin here\ /okuri fontsize spacing add def\ /unijis { fontname findfont fontsize scalefont } def\ /S {save gsave unijis setfont leftmargin paperheight uppermargin sub moveto} def\ /N {currentpoint okuri sub leftmargin exch moveto pop} def\ /E {grestore restore showpage} def\ %%EndProlog\ %%BeginSetup\ <> setpagedevice % <-- ... set papersize here,too\ %%EndSetup\ %%Page: 1 1\ S :a $ b b /\([^\n]*\n\)\{44\}/! { # <--- substitute (lines_per_page - 1) for 44 N b a } :b s/^/(/ s/\n/) show \ N(/g s/$/) show\ E\ / p g /\([0-9]*\)[0-8]$/ { s/\([0-9]*\)8$/\19/ s/\([0-9]*\)7$/\18/ s/\([0-9]*\)6$/\17/ s/\([0-9]*\)5$/\16/ s/\([0-9]*\)4$/\15/ s/\([0-9]*\)3$/\14/ s/\([0-9]*\)2$/\13/ s/\([0-9]*\)1$/\12/ s/\([0-9]*\)0$/\11/ b e } /^99*$/ { y/9/0/ s/^/1/ b e } h s/\(.*[^9][^9]*\)99*$/\1/ s/\([0-9]*\)8$/\19/ s/\([0-9]*\)7$/\18/ s/\([0-9]*\)6$/\17/ s/\([0-9]*\)5$/\16/ s/\([0-9]*\)4$/\15/ s/\([0-9]*\)3$/\14/ s/\([0-9]*\)2$/\13/ s/\([0-9]*\)1$/\12/ x s/.*[^9]\(99*\)$/\1/ y/9/0/ H g s/\n// :e h s/.*/%%Page: & &\ S\ / $ q p