#! /usr/bin/gawk -f # Last edited on 2004-02-19 00:09:29 by stolfi // { lin = $0; # Join lines if line end in "\'xx": while ((lin ~ /[\\]['][a-f0-9][a-f0-9]$/) && (getline >= 0)) { lin = (lin $0); } gsub(/[\\][\'][a][1]/, "\241", lin); gsub(/[\\][\'][a][2]/, "\242", lin); gsub(/[\\][\'][a][3]/, "\243", lin); gsub(/[\\][\'][a][4]/, "\244", lin); gsub(/[\\][\'][a][5]/, "\245", lin); gsub(/[\\][\'][a][6]/, "\246", lin); gsub(/[\\][\'][a][7]/, "\247", lin); gsub(/[\\][\'][a][8]/, "\250", lin); gsub(/[\\][\'][a][9]/, "\251", lin); gsub(/[\\][\'][a][a]/, "\252", lin); gsub(/[\\][\'][a][b]/, "\253", lin); gsub(/[\\][\'][a][c]/, "\254", lin); gsub(/[\\][\'][a][d]/, "\255", lin); gsub(/[\\][\'][a][e]/, "\256", lin); gsub(/[\\][\'][a][f]/, "\257", lin); gsub(/[\\][\'][b][0]/, "\260", lin); gsub(/[\\][\'][b][1]/, "\261", lin); gsub(/[\\][\'][b][2]/, "\262", lin); gsub(/[\\][\'][b][3]/, "\263", lin); gsub(/[\\][\'][b][4]/, "\264", lin); gsub(/[\\][\'][b][5]/, "\265", lin); gsub(/[\\][\'][b][6]/, "\266", lin); gsub(/[\\][\'][b][7]/, "\267", lin); gsub(/[\\][\'][b][8]/, "\270", lin); gsub(/[\\][\'][b][9]/, "\271", lin); gsub(/[\\][\'][b][a]/, "\272", lin); gsub(/[\\][\'][b][b]/, "\273", lin); gsub(/[\\][\'][b][c]/, "\274", lin); gsub(/[\\][\'][b][d]/, "\275", lin); gsub(/[\\][\'][b][e]/, "\276", lin); gsub(/[\\][\'][b][f]/, "\277", lin); gsub(/[\\][\'][c][0]/, "\300", lin); gsub(/[\\][\'][c][1]/, "\301", lin); gsub(/[\\][\'][c][2]/, "\302", lin); gsub(/[\\][\'][c][3]/, "\303", lin); gsub(/[\\][\'][c][4]/, "\304", lin); gsub(/[\\][\'][c][5]/, "\305", lin); gsub(/[\\][\'][c][6]/, "\306", lin); gsub(/[\\][\'][c][7]/, "\307", lin); gsub(/[\\][\'][c][8]/, "\310", lin); gsub(/[\\][\'][c][9]/, "\311", lin); gsub(/[\\][\'][c][a]/, "\312", lin); gsub(/[\\][\'][c][b]/, "\313", lin); gsub(/[\\][\'][c][c]/, "\314", lin); gsub(/[\\][\'][c][d]/, "\315", lin); gsub(/[\\][\'][c][e]/, "\316", lin); gsub(/[\\][\'][c][f]/, "\317", lin); gsub(/[\\][\'][d][0]/, "\320", lin); gsub(/[\\][\'][d][1]/, "\321", lin); gsub(/[\\][\'][d][2]/, "\322", lin); gsub(/[\\][\'][d][3]/, "\323", lin); gsub(/[\\][\'][d][4]/, "\324", lin); gsub(/[\\][\'][d][5]/, "\325", lin); gsub(/[\\][\'][d][6]/, "\326", lin); gsub(/[\\][\'][d][7]/, "\327", lin); gsub(/[\\][\'][d][8]/, "\330", lin); gsub(/[\\][\'][d][9]/, "\331", lin); gsub(/[\\][\'][d][a]/, "\332", lin); gsub(/[\\][\'][d][b]/, "\333", lin); gsub(/[\\][\'][d][c]/, "\334", lin); gsub(/[\\][\'][d][d]/, "\335", lin); gsub(/[\\][\'][d][e]/, "\336", lin); gsub(/[\\][\'][d][f]/, "\337", lin); gsub(/[\\][\'][e][0]/, "\340", lin); gsub(/[\\][\'][e][1]/, "\341", lin); gsub(/[\\][\'][e][2]/, "\342", lin); gsub(/[\\][\'][e][3]/, "\343", lin); gsub(/[\\][\'][e][4]/, "\344", lin); gsub(/[\\][\'][e][5]/, "\345", lin); gsub(/[\\][\'][e][6]/, "\346", lin); gsub(/[\\][\'][e][7]/, "\347", lin); gsub(/[\\][\'][e][8]/, "\350", lin); gsub(/[\\][\'][e][9]/, "\351", lin); gsub(/[\\][\'][e][a]/, "\352", lin); gsub(/[\\][\'][e][b]/, "\353", lin); gsub(/[\\][\'][e][c]/, "\354", lin); gsub(/[\\][\'][e][d]/, "\355", lin); gsub(/[\\][\'][e][e]/, "\356", lin); gsub(/[\\][\'][e][f]/, "\357", lin); gsub(/[\\][\'][f][0]/, "\360", lin); gsub(/[\\][\'][f][1]/, "\361", lin); gsub(/[\\][\'][f][2]/, "\362", lin); gsub(/[\\][\'][f][3]/, "\363", lin); gsub(/[\\][\'][f][4]/, "\364", lin); gsub(/[\\][\'][f][5]/, "\365", lin); gsub(/[\\][\'][f][6]/, "\366", lin); gsub(/[\\][\'][f][7]/, "\367", lin); gsub(/[\\][\'][f][8]/, "\370", lin); gsub(/[\\][\'][f][9]/, "\371", lin); gsub(/[\\][\'][f][a]/, "\372", lin); gsub(/[\\][\'][f][b]/, "\373", lin); gsub(/[\\][\'][f][c]/, "\374", lin); gsub(/[\\][\'][f][d]/, "\375", lin); gsub(/[\\][\'][f][e]/, "\376", lin); gsub(/[\\][\'][f][f]/, "\377", lin); # Special signs: gsub(/[\\]emdash/, "--", lin); gsub(/[\\][~]/, " ", lin); gsub(/[\\]ldblquote/, "``", lin); gsub(/[\\]rdblquote/, "''", lin); # Discretionary hyphen gsub(/[\\][-]/, "", lin); # Formatting: gsub(/[\\]plain/, "", lin); gsub(/[\\]tx[0-9]+/, "", lin); gsub(/[\\]sa[0-9]+/, "", lin); gsub(/[\\]sb[0-9]+/, "", lin); gsub(/[\\]sl[0-9]+/, "", lin); gsub(/[\\]fi[0-9]+/, "", lin); gsub(/[\\]fs[0-9]+/, "", lin); gsub(/[\\]lang[0-9]+/, "", lin); gsub(/[\\]s[0-9]+/, "", lin); gsub(/[\\]f[0-9]+/, "", lin); gsub(/[\\]adjustright/, "", lin); gsub(/[\\]nowidctlpar/, "", lin); gsub(/[\\]widctlpar/, "", lin); gsub(/[\\]slmult[0-9]+/, "", lin); gsub(/[\\]qc/, "", lin); gsub(/[\\]cgrid/, "", lin); gsub(/[\\]qj/, "", lin); print lin; }