Option Explicit ' rg_RomitalClip.vbs Utility, not a User Tool ' Ref: ' Convert Clipboard text from Roman to Italic ' Requires: Romital.ttf Dim a(255), i: For i = 0 to 255: a(i) = i: Next ' default, exceptions follow: a(65) = 179: a(66) = 181: a(67) = 182: a(68) = 183: a(69) = 185 ' A a(70) = 186: a(71) = 188: a(72) = 189: a(73) = 194: a(74) = 195 ' F a(75) = 198: a(76) = 202: a(77) = 204: a(78) = 205: a(79) = 206 ' K a(80) = 208: a(81) = 209: a(82) = 210: a(83) = 211: a(84) = 212 ' P a(85) = 213: a(86) = 215: a(87) = 217: a(88) = 218: a(89) = 219 ' U a(90) = 222 ' Z a(97) = 130: a(98) = 131: a(99) = 132: a(100) = 134: a(101) = 135 ' a a(102) = 137: a(103) = 139: a(104) = 140: a(105) = 149: a(106) = 153 ' f a(107) = 155: a(108) = 156: a(109) = 159: a(110) = 162: a(111) = 163 ' k a(112) = 164: a(113) = 165: a(114) = 166: a(115) = 167: a(116) = 169 ' p a(117) = 170: a(118) = 172: a(119) = 174: a(120) = 176: a(121) = 177 ' u a(122) = 178 ' z Dim cto, s: Set cto = New clsClipText: s = cto ReDim b(Len(s)) For i = 1 to Len(s) b(i) = Chr(a(Asc(Mid(s, i)))) Next cto() = Join(b, "") ' to clipboard WScript.Echo Len(s), "chars" Class clsClipText Public Property Let Text(str) ' in: string, or Null to clear Dim fso: Set fso = CreateObject("Scripting.FileSystemObject") Dim strHTA: strHTA = fso.GetSpecialFolder(2) & "\" _ & fso.GetBaseName(fso.GetTempName) & ".hta" ' %temp%\*.hta Dim strOp: strOp = "clearData('Text')" ' assume: str = Null If IsNull(str) Then If IsNull(Me) Then Exit Property ' already clear Else strOp ="setData('Text', unescape('" & Escape(str) & "'))" End If fso.CreateTextFile(strHTA).Write _ "" CreateObject("WScript.Shell").Run """" & strHTA & """", 7, vbTrue fso.DeleteFile strHTA End Property Public Default Property Get Text Text = CreateObject("htmlfile") _ .parentWindow.clipboardData.getData("Text") End Property ' out: string, or Null if cleared End Class