1 module ET = RecommTypes
5 let replace = ref false
7 let string_length_utf8 s =
8 let l = String.length s in
11 if '\x80' <= s.[i] && s.[i] <= '\xBF'
12 then aux (succ r) (succ i) else aux r (succ i)
17 let l = !width - string_length_utf8 s - 6 in
19 Printf.eprintf "overfull: %S\n" s;
25 let out_src och = function
27 Printf.fprintf och "%s" s
29 Printf.fprintf och "%s" s
31 Printf.fprintf och "(* *%s*)" s
33 Printf.fprintf och "(* %s%s*)" s1 s2
35 let s = String.concat " " ss in
36 Printf.fprintf och "(* %s %s*)" s (complete s)
38 let s = String.capitalize_ascii (String.concat " " ss) in
39 Printf.fprintf och "(* %s %s*)" s (complete s)
40 | ET.Other (s1, s2, s3) ->
41 Printf.fprintf och "%s%s%s" s1 s2 s3
43 let write_srcs file srcs =
45 if !replace then begin
46 Sys.rename file (file ^ ".old");
52 let och = open_out target in
53 List.iter (out_src och) srcs;