ya lo he solucionado. Os dejo la sólución para los que tengan el mismo problema que yo
Código:
(****************************************)
(* Convertimos una cadena AnsiStr a OEM *)
(****************************************)
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
CharToOem(PChar(AnsiStr), PChar(Result));
end;
...
procedure imprimeTicket(numTicket : integer);
...
s := StrToOem(obtenDatosEmpresa(EMP_NOMB))+chr(13)+chr(10);
WritePrinter(Handle, pchar(s), Length(S), N);
...
Simplemente tenemos que convertir la cadena a imprimir a OEM antes de imprimirla
Salu2