Textsträngar

Viktigt!

Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.

Mer information finns i designguiden för utskriftssupportapp v1 och v2.

Textsträngar är strängar med literaltecken, avgränsade med citattecken. Strängar som används av Unidrv minidrivers kan placeras på någon av två platser,

  • De kan placeras i en resursfil. Strängar som kräver lokalisering, till exempel användargränssnittstext, ska placeras i en resursfil enligt beskrivningen i Använda resurs-DLL:er i en minimejl.

  • De kan ingå i GPD-filer. Strängar som representerar escape-sekvenserna som utgör skrivarkommandon ingår vanligtvis i GPD-filer, eftersom dessa strängar inte behöver lokaliseras.

Strängar måste följa följande regler:

  • Strängar måste avgränsas med citattecken ("...").

  • Hexadecimala bytevärden kan placeras i en sträng genom att avgränsa hexadecimala siffror efter vinkelparenteser (<...>), till exempel <03> eller <1B>. Inom en uppsättning vinkelparenteser tolkas varje par med siffror som ett annat hexadecimalt bytevärde. Därför <är 03><1B>, <03 1B> och <031B> alla likvärdiga.

  • Procenttecknet (%) används som ett escape-tecken. Om du vill inkludera ett citattecken eller vänster vinkelparentes (", <) i en sträng, föregå det med ett procenttecken. Om du vill ange en sträng som slutar med ett procenttecken måste du ange hexadecimalt värde för %, som i "<25>".

    Om du vill inkludera ett procenttecken i en textsträng som representerar ett skrivarkommando måste du dessutom föregå det med ytterligare ett procenttecken. Om du vill ange ett skrivarkommando som slutar med ett procenttecken måste du ange två hexadecimala % värden, som i

    "kommandosträng<25 25>"

En exempelsträng är kommandot som väljer papper i brevstorlek för Canon BJC-600-skrivaren. Det här kommandot, som är bytesekvensen 1B 28 67 03 00 6E 01 72, kan anges som:

<1B>(g<03 00>n<01>r

Varje ASCII-tecken som ingår i strängen konverteras till dess hexadecimala motsvarighet med en byte.

  • Strängar som finns i GPD-filer måste följa denna ytterligare regel:

    Om du vill utöka en sträng bortom en enskild rad, föregår du varje rad efter den första med ett radfortsättningstecken (+) och avgränsar texten på varje rad med citattecken.

  • Ett strängvärde kan bestå av flera textsträngar. Följande två GPD-poster är till exempel likvärdiga:

    *Name: "abc""def" *% Comment
    +      "gh"    "ijk"
    
    *Name: "abcdefghijk"
    

Ytterligare regler som rör strängar som definierats i resursfiler finns i beskrivningen av STRINGTABLE-instruktionen i Microsoft Windows SDK-dokumentationen.

Mer information om hur du anger escape-sekvenser för skrivarkommandon finns i Kommandosträngsformat.