| 43 | | ------------------------------------------------------ |
|---|
| 44 | | |
|---|
| 45 | | 3.1..General features. |
|---|
| 46 | | |
|---|
| 47 | | 3.1.1.... w32-system-coding-system. |
|---|
| 48 | | |
|---|
| 49 | | To this variable, you must set the coding system that is sent to |
|---|
| 50 | | Windows operating system. It is used for encoding menu strings, |
|---|
| 51 | | fontname strings, title bar strings, and so on. |
|---|
| 52 | | |
|---|
| 53 | | 3.1.2.... (Meadow-version) |
|---|
| 54 | | |
|---|
| 55 | | You can retrieve the version strings of the Meadow. |
|---|
| 56 | | |
|---|
| 57 | | 3.1.3.... (w32-set-modifier-key KEY MODIFIER) |
|---|
| 58 | | |
|---|
| 59 | | You can set modifier keys by this function. |
|---|
| 60 | | Please read documentation strings. |
|---|
| 61 | | |
|---|
| 62 | | 3.1.4.... Console Mode and Terminal Mode |
|---|
| 63 | | |
|---|
| 64 | | You can use Win32 console, by adding option `-nw' and |
|---|
| 65 | | you must set TERM environment variable to `CMD'. |
|---|
| 66 | | e.g |
|---|
| 67 | | set TERM=CMD |
|---|
| 68 | | Meadow -nw |
|---|
| 69 | | |
|---|
| 70 | | You can't use IME on console mode on Windows95. |
|---|
| 71 | | |
|---|
| 72 | | Or you can use terminal mode with adequate telnet service. |
|---|
| 73 | | You must prepare `termcap' file. For example when you put termcap c:\, |
|---|
| 74 | | |
|---|
| 75 | | set TERMCAP=c:\termcap |
|---|
| 76 | | set TERM=vt100 (Set your terminal ID.) |
|---|
| 77 | | Meadow -nw |
|---|
| 78 | | |
|---|
| 79 | | You can't use IME on terminal mode. |
|---|
| 80 | | |
|---|
| 81 | | 3.1.5.... Mouse features. |
|---|
| 82 | | |
|---|
| 83 | | Meadow is aware of 3button mouse including IntelliMouse. |
|---|
| 84 | | Buttons can be remapped by these variables. |
|---|
| 85 | | |
|---|
| 86 | | w32-lbutton-to-emacs-button |
|---|
| 87 | | w32-mbutton-to-emacs-button |
|---|
| 88 | | w32-rbutton-to-emacs-button |
|---|
| 89 | | |
|---|
| 90 | | These indicates button number that is sent to Meadow when |
|---|
| 91 | | left, middle, or right buttons are pressed or depressed respectively. |
|---|
| 92 | | |
|---|
| 93 | | When IntelliMouse wheel is rotated, Meadow receives an event as shown |
|---|
| 94 | | here. |
|---|
| 95 | | |
|---|
| 96 | | (mouse-wheel1 ([WINDOW | FRAME] POSITION (X . Y) TIME DELTA)) |
|---|
| 97 | | |
|---|
| 98 | | [WINDOW | FRAME] shows a window or frame where the mouse cursor is. |
|---|
| 99 | | POSITION shows which area the mouse cursor is in. |
|---|
| 100 | | (X . Y) shows coordinates of the mouse cursor. |
|---|
| 101 | | DELTA shows a rotation angle of wheel. |
|---|
| 102 | | You can pass DELTA to this function to obtain the amount of scroll lines. |
|---|
| 103 | | -- |
|---|
| 104 | | (w32-get-mouse-wheel-scroll-lines DELTA) |
|---|
| 105 | | -- |
|---|
| 106 | | |
|---|
| 107 | | The default setting of wheel operations are scrolling buffer |
|---|
| 108 | | contents when a mouse cursor is at a buffer window, or moving mode |
|---|
| 109 | | line when a mouse cursor is at a mode line. |
|---|
| 110 | | |
|---|
| 111 | | Mouse cursor can be out of your sight when not used. This looks like |
|---|
| 112 | | 'unclutter' feature of X. There are two ways to hide mouse cursor, by |
|---|
| 113 | | typing and by time. |
|---|
| 114 | | |
|---|
| 115 | | note: hide by timeout feature works correctly only on Windows98, 2k |
|---|
| 116 | | or later (maybe). |
|---|
| 117 | | |
|---|
| 118 | | -- |
|---|
| 119 | | ;; Mouse cursor will hide on key typing. |
|---|
| 120 | | (setq w32-hide-mouse-on-key t) |
|---|
| 121 | | |
|---|
| 122 | | ;; Mouse cursor will hide after 5 seconds rest. |
|---|
| 123 | | (setq w32-hide-mouse-timeout 5000) |
|---|
| 124 | | -- |
|---|
| 125 | | |
|---|
| 126 | | 3.1.6.... Cursor type |
|---|
| 127 | | |
|---|
| 128 | | * CAUTION: This feature has not been implemented yet. |
|---|
| 129 | | |
|---|
| 130 | | Meadow supports following cursor types: |
|---|
| 131 | | |
|---|
| 132 | | o..... bar ... slim vertical bar |
|---|
| 133 | | o..... box ... solid black box |
|---|
| 134 | | o..... caret ... blinking solid black box (solid caret) |
|---|
| 135 | | o..... checkered-caret ... blinking checkered pattern box (gray caret) |
|---|
| 136 | | o..... hairline-caret ... blinking vertical line (line caret) |
|---|
| 137 | | |
|---|
| 138 | | Default type is "caret". You can select cursor type by specifying |
|---|
| 139 | | cursor-type to default-frame-alist in your .emacs, like this: |
|---|
| 140 | | |
|---|
| 141 | | -- |
|---|
| 142 | | (setq default-frame-alist (cons '(cursor-type . box) |
|---|
| 143 | | default-frame-alist)) |
|---|
| 144 | | -- |
|---|
| 145 | | |
|---|
| 146 | | In other words, you can use set-cursor-type() funcion, like this: |
|---|
| 147 | | |
|---|
| 148 | | -- |
|---|
| 149 | | (set-cursor-type 'hairline-caret) |
|---|
| 150 | | -- |
|---|
| 151 | | |
|---|
| 152 | | Meadow can change height of caret cursor by changing frame parameter |
|---|
| 153 | | 'cursor-height'. The range of the parameter is 0 - 4. 1 to 4 means the |
|---|
| 154 | | height of cursor is set to n quarters of font height. 0 means active |
|---|
| 155 | | window border width you set in 'display property' control panel. |
|---|
| 156 | | |
|---|
| 157 | | Default height of cursor is 4 (full height). You can change the |
|---|
| 158 | | height, like this: |
|---|
| 159 | | |
|---|
| 160 | | *This feature now is available only for 'caret cursors', say caret, |
|---|
| 161 | | checkered-caret, hairline-caret. |
|---|
| 162 | | |
|---|
| 163 | | -- |
|---|
| 164 | | (setq default-frame-alist (cons '(cursor-height . 2) ; half height |
|---|
| 165 | | default-frame-alist)) |
|---|
| 166 | | -- |
|---|
| 167 | | |
|---|
| 168 | | In other words, you can use set-cursor-height() funcion, like this: |
|---|
| 169 | | |
|---|
| 170 | | -- |
|---|
| 171 | | (set-cursor-height 4) |
|---|
| 172 | | -- |
|---|
| 173 | | |
|---|
| 174 | | 3.1.7.... MCI feature |
|---|
| 175 | | |
|---|
| 176 | | Meadow provides an API for controling multimedia devices with Windows |
|---|
| 177 | | MCI (Media Control Interface). Using this API, you can play a sound |
|---|
| 178 | | data and also music in a CD. If there is any further information you |
|---|
| 179 | | require, please refer to the MCI specification. |
|---|
| 180 | | |
|---|
| 181 | | --- |
|---|
| 182 | | (mw32-mci-send-string COMMAND) |
|---|
| 183 | | --- |
|---|
| 184 | | |
|---|
| 185 | | This function sends a command string to an MCI device with |
|---|
| 186 | | mciSendString(). |
|---|
| 187 | | |
|---|
| 188 | | Returns a string that holds return information (e.g. ID of a device |
|---|
| 189 | | that are opened) if successful or an error code in number. |
|---|
| 190 | | |
|---|
| 191 | | The following is usage of this functin. |
|---|
| 192 | | |
|---|
| 193 | | (mw32-mci-send-string "open c:/WINDOWS/Media/tada.wav alias tada") |
|---|
| 194 | | => "1" ; device ID |
|---|
| 195 | | (mw32-mci-send-string "play tada") |
|---|
| 196 | | => "" |
|---|
| 197 | | (mw32-mci-send-string "close tada") |
|---|
| 198 | | => "" |
|---|
| 199 | | |
|---|
| 200 | | You are able to catch a MM_MCINOTIFY event if you specify `notify' in |
|---|
| 201 | | a command string. |
|---|
| 202 | | |
|---|
| 203 | | (mw32-mci-send-string "open c:/WINDOWS/Media/tada.wav alias tada") |
|---|
| 204 | | => "1" ; device ID |
|---|
| 205 | | (progn |
|---|
| 206 | | (mw32-mci-send-string "play tada notify") |
|---|
| 207 | | (read-event)) |
|---|
| 208 | | => (mw32-mci mw32-mci-notify-successful 1 nil) |
|---|
| 209 | | (mw32-mci-send-string "close tada") |
|---|
| 210 | | => "" |
|---|
| 211 | | |
|---|
| 212 | | --- |
|---|
| 213 | | (mw32-mci-get-error-string ERROR-CODE) |
|---|
| 214 | | --- |
|---|
| 215 | | |
|---|
| 216 | | This function retrieves a string that describes the specified MCI |
|---|
| 217 | | error code with mciGetErrorString(). |
|---|
| 218 | | |
|---|
| 219 | | --- |
|---|
| 220 | | (mw32-mci-add-notify-callback DEVICE-ID CALLBACK-FUNC |
|---|
| 221 | | &optional CALLBACK-ARG) |
|---|
| 222 | | --- |
|---|
| 223 | | |
|---|
| 224 | | This function adds a callback function which should be executed when a |
|---|
| 225 | | MM_MCINOTIFY event rises. For further information, please refer to |
|---|
| 226 | | mw32-mci-notify-func(). |
|---|
| 227 | | |
|---|
| 228 | | ------------------------------------------------------ |
|---|
| 229 | | |
|---|
| 230 | | 3.2..font request setting. |
|---|
| 231 | | |
|---|
| 232 | | A font request will be set automatically. You can use `default' by |
|---|
| 233 | | default. If you want to make another font request, you can use the |
|---|
| 234 | | functions in this section. |
|---|
| 235 | | |
|---|
| 236 | | 3.2.1... logfont |
|---|
| 237 | | |
|---|
| 238 | | T.B.W. |
|---|
| 239 | | |
|---|
| 240 | | 3.2.2... font specifier |
|---|
| 241 | | |
|---|
| 242 | | T.B.W. |
|---|
| 243 | | |
|---|
| 244 | | Meadow's fonts have properties. Properties are used to store |
|---|
| 245 | | logfonts. |
|---|
| 246 | | |
|---|
| 247 | | `Logfont' is an abbereviation of `logical font' that is mapped to a |
|---|
| 248 | | real font by Meadow. Currently, we can use BDF(Bitmap Distributed |
|---|
| 249 | | Format), Windows fonts(both bitmap and TrueType), and others); the |
|---|
| 250 | | following types are allowd. |
|---|
| 251 | | |
|---|
| 252 | | 1.... Windows logfont. |
|---|
| 253 | | Windows logfonts are specified by a list like follows, |
|---|
| 254 | | -- |
|---|
| 255 | | (w32-logfont <NAME> <WIDTH> <HEIGHT> <WEIGHT> <ITALIC-P> <STRIKEOUT-P> |
|---|
| 256 | | <CHARSET> <QUALITY> <OUTPRECISION> <PITCH&FAMILY>) |
|---|
| 257 | | -- |
|---|
| 258 | | |
|---|
| 259 | | NAME.......... the font name within 31bytes. |
|---|
| 260 | | WIDTH......... width of the font(number) |
|---|
| 261 | | HEIGHT........ height of the font(number) |
|---|
| 262 | | WEIGHT........ weight of the font(number) |
|---|
| 263 | | Normal weight is 400. |
|---|
| 264 | | Bold weight is 700. |
|---|
| 265 | | ITALIC-P...... Non-nil specifies an italic font. |
|---|
| 266 | | STRIKEOUT-P... Non-nil specifies a strikeout font. |
|---|
| 267 | | CHARSET....... Specifies a charset number of the font. |
|---|
| 268 | | PITCH&FAMILY.. Specifies whether a font is fixed or not, |
|---|
| 269 | | and a font family. |
|---|
| 270 | | |
|---|
| 271 | | This list is based on Windows logfont. |
|---|
| 272 | | When you want to know your desired logfont, please use |
|---|
| 273 | | --- |
|---|
| 274 | | (w32-query-get-logfont) |
|---|
| 275 | | --- |
|---|
| 276 | | This function pop up a font selection dialog box, and return the logfont |
|---|
| 277 | | of the selected logfont. |
|---|
| 278 | | |
|---|
| 279 | | 2.... BDF font. |
|---|
| 280 | | Meadow can use BDF fonts. |
|---|
| 281 | | BDF fonts' logfont are specified by a list as shown here. |
|---|
| 282 | | -- |
|---|
| 283 | | (bdf-font "FILENAME") |
|---|
| 284 | | -- |
|---|
| 285 | | FILENAME must be a valid filename of a BDF font. |
|---|
| 286 | | |
|---|
| 287 | | Properties are discriminated by a number ranged 0-15. |
|---|
| 288 | | And each number means as followd. |
|---|
| 289 | | |
|---|
| 290 | | 0...... Normal font |
|---|
| 291 | | 1...... Bold font |
|---|
| 292 | | 2...... Italic font |
|---|
| 293 | | 3...... Bold-Italic font |
|---|
| 294 | | |
|---|
| 295 | | 4-7.... Reserved for extension |
|---|
| 296 | | |
|---|
| 297 | | 8...... Normal font for printings |
|---|
| 298 | | 9...... Bold font for printings |
|---|
| 299 | | 10..... Italic font for printings |
|---|
| 300 | | 11..... Bold-Italic font for printings |
|---|
| 301 | | |
|---|
| 302 | | 12-15. Reserved for extension |
|---|
| 303 | | |
|---|
| 304 | | For example, if you set a `courier' windows logfont to the property |
|---|
| 305 | | 2 of a font, Meadow will display a `courier' font when a emacs lisp |
|---|
| 306 | | library would display this font as a `italic'. |
|---|
| 307 | | |
|---|
| 308 | | When the desired property has not been set yet, the most |
|---|
| 309 | | significant non-zero bit of the number is cleared, and iterate to |
|---|
| 310 | | search a set property. When Meadow can't find any logfonts |
|---|
| 311 | | even in property 0, Meadow use the default logfont as follows. |
|---|
| 312 | | |
|---|
| 313 | | Property 0 |
|---|
| 314 | | (w32-logfont "FixedSys" |
|---|
| 315 | | <get from font attribute> |
|---|
| 316 | | <get from font attribute> 400 0 nil nil 128 0 0 1) |
|---|
| 317 | | Property 1 |
|---|
| 318 | | (w32-logfont "FixedSys" |
|---|
| 319 | | <get from font attribute> |
|---|
| 320 | | <get from font attribute> 700 0 nil nil 128 0 0 1) |
|---|
| 321 | | Property 2 |
|---|
| 322 | | (w32-logfont "FixedSys" |
|---|
| 323 | | <get from font attribute> |
|---|
| 324 | | <get from font attribute> 400 0 t nil 128 0 0 1) |
|---|
| 325 | | Property 3 |
|---|
| 326 | | (w32-logfont "FixedSys" |
|---|
| 327 | | <get from font attribute> |
|---|
| 328 | | <get from font attribute> 700 0 t nil 128 0 0 1) |
|---|
| 329 | | |
|---|
| 330 | | 3.2.1......high level APIs. |
|---|
| 331 | | |
|---|
| 332 | | 3.2.1.1....fontset requests |
|---|
| 333 | | |
|---|
| 334 | | ---- |
|---|
| 335 | | (create-fontset-from-request NAME REQUIRED RECOMMENDED) |
|---|
| 336 | | |
|---|
| 337 | | NAME is name of the font request you want to create. |
|---|
| 338 | | REQUIRED and RECOMMENDED are a-lists. |
|---|
| 339 | | REQUIRED means that all fonts that are selected MUST satisfy |
|---|
| 340 | | these conditions. |
|---|
| 341 | | RECOMMENDED means that fonts that satisfy these condition |
|---|
| 342 | | are given priority over creating a fontset. |
|---|
| 343 | | |
|---|
| 344 | | New fonts are created with name of "NAME-CHARSET" for |
|---|
| 345 | | each available charset, and configured to property 0 |
|---|
| 346 | | automatically. |
|---|
| 347 | | |
|---|
| 348 | | Following keys are awared in these a-lists. |
|---|
| 349 | | (Others are ignored) |
|---|
| 350 | | |
|---|
| 351 | | o..... family (STRING) |
|---|
| 352 | | family name of the font (Regular expressions are not allowed.) |
|---|
| 353 | | |
|---|
| 354 | | o..... width (NUMBER) |
|---|
| 355 | | width of the font(pixel) |
|---|
| 356 | | |
|---|
| 357 | | o..... height (NUMBER) |
|---|
| 358 | | height of the font(pixel) |
|---|
| 359 | | |
|---|
| 360 | | o..... weight (NUMBER) |
|---|
| 361 | | weight of the font. |
|---|
| 362 | | It is normail about 400. |
|---|
| 363 | | It is bold about 700. |
|---|
| 364 | | |
|---|
| 365 | | o..... fixed (nil or t) |
|---|
| 366 | | nil means that the font is not fixed-pitch. |
|---|
| 367 | | |
|---|
| 368 | | o..... italic (nil or t) |
|---|
| 369 | | nil means that the font is not italic. |
|---|
| 370 | | |
|---|
| 371 | | o..... spacing (NUMBER) |
|---|
| 372 | | horizontal spacing between characters (pixel). |
|---|
| 373 | | |
|---|
| 374 | | e.g. |
|---|
| 375 | | |
|---|
| 376 | | (create-fontset-from-request |
|---|
| 377 | | "myfontset" |
|---|
| 378 | | '((width . 8) |
|---|
| 379 | | (height . 12) |
|---|
| 380 | | (fixed . t) |
|---|
| 381 | | (italic . nil)) |
|---|
| 382 | | '((family . "Courier") |
|---|
| 383 | | (family . "MS Gothic"))) |
|---|
| 384 | | |
|---|
| 385 | | ---- |
|---|
| 386 | | (change-fontset-from-request NAME REQUIRED RECOMMENDED PROPERTY) |
|---|
| 387 | | ---- |
|---|
| 388 | | |
|---|
| 389 | | Change configurations of fonts in the fontset of NAME. |
|---|
| 390 | | You can specify PROPERTY that must be a number of property. |
|---|
| 391 | | This function set this property from your request. |
|---|
| 392 | | REQUIRED and RECOMMENDED are the same meanings in |
|---|
| 393 | | (create-fontset-from-request) |
|---|
| 394 | | |
|---|
| 395 | | 3.2.2......low level APIs. |
|---|
| 396 | | |
|---|
| 397 | | Low level APIs handle logfonts directly. |
|---|
| 398 | | |
|---|
| 399 | | |
|---|
| 400 | | 3.2.2.1....(w32-add-font NAME ALIST) |
|---|
| 401 | | |
|---|
| 402 | | This function regist font. Then Meadow can use this font by NAME. |
|---|
| 403 | | NAME must be string. ALIST is used for description of the font to |
|---|
| 404 | | use. |
|---|
| 405 | | |
|---|
| 406 | | The structure of ALIST is the following. |
|---|
| 407 | | |
|---|
| 408 | | ((spec |
|---|
| 409 | | (<spec-plist> strict <logfont> [<option-alist>]) ;; (a) |
|---|
| 410 | | or |
|---|
| 411 | | (<spec-plist> function <func> [<option-alist>]) ;; (b) |
|---|
| 412 | | ...)) |
|---|
| 413 | | |
|---|
| 414 | | You can indicate the mapping between font request and logfont |
|---|
| 415 | | strictly or with a user-defined function. The specification of this |
|---|
| 416 | | structure is the following. |
|---|
| 417 | | |
|---|
| 418 | | (a)..... strict |
|---|
| 419 | | |
|---|
| 420 | | <spec-plist> is a property list which describes a font |
|---|
| 421 | | specification. `strict' is a key that means a strict mapping. |
|---|
| 422 | | <llogfont> is a Lisp expression for logfont. <option-alist> is an |
|---|
| 423 | | association list which indicates optional parameters, which can be |
|---|
| 424 | | omitted. |
|---|
| 425 | | |
|---|
| 426 | | Meadow compares <spec-plist> and the attributes of a face, and the |
|---|
| 427 | | select the most suitable logfont for the face. |
|---|
| 428 | | |
|---|
| 429 | | When a property value is any, any face attribute suits the |
|---|
| 430 | | specification. When nil, only unspecified suits it. When |
|---|
| 431 | | unspecified, none of the values suits it. |
|---|
| 432 | | |
|---|
| 433 | | Valid keys for <spec-plist> are: |
|---|
| 434 | | |
|---|
| 435 | | o..... :char-spec (NUMBER, char-table) |
|---|
| 436 | | Specifies a charset number of the font with char or char-table. |
|---|
| 437 | | Generic char is also acceptable. The default value is ascii. |
|---|
| 438 | | |
|---|
| 439 | | o..... :width (NUMBER, SYMBOL) |
|---|
| 440 | | Specifies the width of the font. Either a number(in point value) or |
|---|
| 441 | | a symbol (any, normal, condensed, semi-expanded, expanded, |
|---|
| 442 | | extra-condensed, extra-expanded, ultra-condensed, ultra-expanded) is |
|---|
| 443 | | acceptable. The default value is normal. |
|---|
| 444 | | |
|---|
| 445 | | o..... :height (NUMBER, SYMBOL) |
|---|
| 446 | | Specifies the height of the font. Either a number (in point value) |
|---|
| 447 | | or a symbol (any) is acceptable. The default value is nil. |
|---|
| 448 | | |
|---|
| 449 | | o..... :family (STRING, SYMBOL) |
|---|
| 450 | | Specifies the family name of the font. Either a string in a regular |
|---|
| 451 | | expression or a symbol (any) is acceptable. The default value is "*". |
|---|
| 452 | | |
|---|
| 453 | | o..... :weight (SYMBOL) |
|---|
| 454 | | Specifies the weight of the font. a symbol (any, normal, bold, |
|---|
| 455 | | semi-bold, extra-bold, light, semi-light, ultra-light, extra-light) is |
|---|
| 456 | | acceptable. The default value is normal. |
|---|
| 457 | | |
|---|
| 458 | | o..... :slant (SYMBOL) |
|---|
| 459 | | Specifies the slant of the font. a symbol (any, normal, italic, |
|---|
| 460 | | reverse-italic, oblique, reverse-oblique) is acceptable. The default |
|---|
| 461 | | value is normal. |
|---|
| 462 | | |
|---|
| 463 | | The specification of <llogfont> is describe above in <3.2>. |
|---|
| 464 | | |
|---|
| 465 | | Valid keys for <option-alist> are: |
|---|
| 466 | | |
|---|
| 467 | | o..... encoding (SYMBOL) |
|---|
| 468 | | Specifies the encoding of the font. a symbol (nil, 1-byte-set-msb, |
|---|
| 469 | | 2-byte-set-msb, shift_jis, unicode, <encoder name>) is acceptable. |
|---|
| 470 | | <encoder name> is a sumbol that is registered with |
|---|
| 471 | | w32-regist-font-encoder(). The default value is nil. |
|---|
| 472 | | |
|---|
| 473 | | o..... relative-compose (NUMBER) |
|---|
| 474 | | o..... default-ascent (NUMBER) |
|---|
| 475 | | These set metrics of the font. If these are omitted, Meadow uses 0. |
|---|
| 476 | | |
|---|
| 477 | | o..... spacing (NUMBER) |
|---|
| 478 | | Specifies the spacing between the characters in PIXEL. |
|---|
| 479 | | |
|---|
| 480 | | (b)..... function |
|---|
| 481 | | |
|---|
| 482 | | <spec-plist> is a property list which describes a font |
|---|
| 483 | | specification. `function' is a key that means a mapping with a |
|---|
| 484 | | function. <func> is a Lisp function with which a suitable logfont is |
|---|
| 485 | | selected. <option-alist> is an association list which indicates |
|---|
| 486 | | optional parameters, which can be omitted. |
|---|
| 487 | | |
|---|
| 488 | | <spec-plist> is same as that of `strict'. |
|---|
| 489 | | |
|---|
| 490 | | The structure of this <func> is the following. |
|---|
| 491 | | |
|---|
| 492 | | ---- |
|---|
| 493 | | (lambda (char face-attrs frame)) |
|---|
| 494 | | ---- |
|---|
| 495 | | |
|---|
| 496 | | This function must return either nil, <llogfont> or (<llogfont> |
|---|
| 497 | | <option-alist>). Nil means that no suitable fonts are found. |
|---|
| 498 | | |
|---|
| 499 | | Face-attrs is a property list whose keys are the followings. |
|---|
| 500 | | |
|---|
| 501 | | o..... :width |
|---|
| 502 | | o..... :height |
|---|
| 503 | | o..... :family |
|---|
| 504 | | o..... :weight |
|---|
| 505 | | o..... :slant |
|---|
| 506 | | |
|---|
| 507 | | 3.2.2.2....(w32-change-font-attribute NAME ALIST) |
|---|
| 508 | | |
|---|
| 509 | | * CAUTION: This feature has not been implemented yet. |
|---|
| 510 | | |
|---|
| 511 | | You can reconfigure the font settings. |
|---|
| 512 | | NAME is a font name that has been added. |
|---|
| 513 | | ALIST has the same meanings in (w32-add-font) |
|---|
| 514 | | |
|---|
| 515 | | <option-alist>> is same as that of `strict'. |
|---|
| 516 | | |
|---|
| 517 | | 3.2.2.3....(w32-change-font-logfont NAME LOGFONT PROPERTY) |
|---|
| 518 | | |
|---|
| 519 | | * CAUTION: This feature has not been implemented yet. |
|---|
| 520 | | |
|---|
| 521 | | Set a LOGFONT to PROPERTY of font(NAME). |
|---|
| 522 | | LOGFONT must be a valid logfont. |
|---|
| 523 | | |
|---|
| 524 | | 3.2.2.4....(w32-get-font-logfont NAME PROPERTY) |
|---|
| 525 | | |
|---|
| 526 | | * CAUTION: This feature has not been implemented yet. |
|---|
| 527 | | |
|---|
| 528 | | 3.2.2.5....(w32-get-font-info NAME PROPERTY) |
|---|
| 529 | | 3.2.2.6....(w32-get-logfont-info LOGFONT &optional FRAME) |
|---|
| 530 | | |
|---|
| 531 | | |
|---|
| 532 | | 3.2.2.7....(w32-font-list) |
|---|
| 533 | | 3.2.2.8....(w32-enum-logfont &optional FAMILY DEVICE) |
|---|
| 534 | | 3.2.2.9....(w32-query-get-logfont) |
|---|
| 535 | | 3.2.2.10...(w32-check-logfont LOGFONT) |
|---|
| 536 | | |
|---|
| 537 | | Please read documentation strings. :-) |
|---|
| 538 | | |
|---|
| 539 | | 3.2.2.11...w32-default-font-alist |
|---|
| 540 | | |
|---|
| 541 | | * CAUTION: This feature has not been implemented yet. |
|---|
| 542 | | |
|---|
| 543 | | Please read documentation strings, and (w32-add-font). |
|---|
| 544 | | |
|---|
| 545 | | ------------------------------------------------------ |
|---|
| 546 | | |
|---|
| 547 | | 3.3..Argument Editing |
|---|
| 548 | | |
|---|
| 549 | | Meadow can invoke external processes. But arguments of the external |
|---|
| 550 | | process is very different from UNIX style. |
|---|
| 551 | | |
|---|
| 552 | | In UNIX style, arguments have the style like this. |
|---|
| 553 | | |
|---|
| 554 | | argv[0] = /usr/bin/ls |
|---|
| 555 | | argv[1] = -l |
|---|
| 556 | | argv[2] = "/home/himi/foo" |
|---|
| 557 | | |
|---|
| 558 | | But on Windows, arguments must be a single string. To take |
|---|
| 559 | | matters worse, how to connect these strings depend on each program. |
|---|
| 560 | | |
|---|
| 561 | | o...Normal Style. |
|---|
| 562 | | Only connect them. They are separated by " "(SPACE). |
|---|
| 563 | | In the above example, the result is |
|---|
| 564 | | `/usr/bin/ls -l "home/himi/foo"'. |
|---|
| 565 | | |
|---|
| 566 | | o...Microsoft Visual C++ Style. |
|---|
| 567 | | Microsoft Visual C++ connects these arguments with quoting by `"'. |
|---|
| 568 | | And each arguments are separated by " "(SPACE). |
|---|
| 569 | | If a argument contains `"', quote it by `\'(Backslash). |
|---|
| 570 | | If its `"' is located after `\', quote the `\' by `\', too. |
|---|
| 571 | | |
|---|
| 572 | | o...Cygnus system style. |
|---|
| 573 | | Cygnus system connects these arguments with quoting by `"'. |
|---|
| 574 | | And each arguments are separated by " "(SPACE). |
|---|
| 575 | | If a argument contains `"', convert it to `""'. |
|---|
| 576 | | |
|---|
| 577 | | Therefore Meadow have the facility of Argument Editing. |
|---|
| 578 | | You can edit arguments arbitrary by this facility. |
|---|
| 579 | | |
|---|
| 580 | | Argument Editing selects the method of editing from the program name. |
|---|
| 581 | | It is specified by regular expressions. Argument editing system |
|---|
| 582 | | compares these settings to the program name that is about to be |
|---|
| 583 | | invoked by Meadow. If it is matched by a setting, Meadow call the |
|---|
| 584 | | function that is associated by the setting to edit arguments. |
|---|
| 585 | | |
|---|
| 586 | | You can configure Argument Editing by the following functions and variables. |
|---|
| 587 | | |
|---|
| 588 | | --------------- |
|---|
| 589 | | (define-process-argument-editing PROCESS FUNCTION &optional METHOD) |
|---|
| 590 | | |
|---|
| 591 | | Set argument editing. |
|---|
| 592 | | PROCESS is a regular expressions to specify the process whose |
|---|
| 593 | | arguments are edited by FUNCTION. Argument editing system compares |
|---|
| 594 | | path of the process that is complete and separated by `/' with PROCESS. |
|---|
| 595 | | When PROCESS matches the path of the process, Argument editing system |
|---|
| 596 | | call FUNCTION to edit argument. |
|---|
| 597 | | |
|---|
| 598 | | FUNCTION is called with a list of arguments that are supposed to be |
|---|
| 599 | | passed to the process. FUNCTION must return one of the following manners. |
|---|
| 600 | | |
|---|
| 601 | | o....a string of argument. |
|---|
| 602 | | If FUNCTION returns string, the process is created with this string |
|---|
| 603 | | as an argument. |
|---|
| 604 | | |
|---|
| 605 | | o....(PROGRAM . ARGUMENT) |
|---|
| 606 | | Both of them must be strings. |
|---|
| 607 | | If FUNCTION returns this type, argument editing system create a process |
|---|
| 608 | | of PROGRAM with ARGUMENT as an argument. |
|---|
| 609 | | |
|---|
| 610 | | |
|---|
| 611 | | METHOD specifies how this setting is registered. |
|---|
| 612 | | The followings are allowed. |
|---|
| 613 | | |
|---|
| 614 | | o.... 'first |
|---|
| 615 | | Register this setting at first. |
|---|
| 616 | | Thus this setting have the highest precedence. |
|---|
| 617 | | |
|---|
| 618 | | o.... 'last |
|---|
| 619 | | Register this setting at last. |
|---|
| 620 | | Thus this setting have the lowest precedence. |
|---|
| 621 | | |
|---|
| 622 | | o.... 'append |
|---|
| 623 | | Append this setting. |
|---|
| 624 | | If PROCESS has been registerd already, nothing happens. |
|---|
| 625 | | If not so, register this setting at first. |
|---|
| 626 | | |
|---|
| 627 | | o.... 'replace |
|---|
| 628 | | Replace this setting. |
|---|
| 629 | | If PROCESS has been registerd already, replace the setting. |
|---|
| 630 | | If not so, nothing happens. |
|---|
| 631 | | |
|---|
| 632 | | o.... nil |
|---|
| 633 | | If PROCESS has been registerd already, replace the setting. |
|---|
| 634 | | If not so, register this setting at first. |
|---|
| 635 | | |
|---|
| 636 | | --------------- |
|---|
| 637 | | |
|---|
| 638 | | (remove-process-argument-editing PROCESS) |
|---|
| 639 | | (find-process-argument-editing-funciton PROCESS) |
|---|
| 640 | | default-process-argument-editing-function (variable) |
|---|
| 641 | | |
|---|
| 642 | | Please read documentation strings. |
|---|
| 643 | | |
|---|
| 644 | | --------------- |
|---|
| 645 | | |
|---|
| 646 | | (general-process-argument-editing-function ARGUMENT QUOTING ARGV0ISP |
|---|
| 647 | | &optional EP H2SP QP S2ISP) |
|---|
| 648 | | |
|---|
| 649 | | This is a general function to edit argument. |
|---|
| 650 | | ARGUMENT must be a list of arguments. |
|---|
| 651 | | QUOTING specifies how to quote arguments. |
|---|
| 652 | | The followings are allowed. |
|---|
| 653 | | |
|---|
| 654 | | o.... nil |
|---|
| 655 | | Only connect them. They are separated by " "(SPACE). |
|---|
| 656 | | o.... 'msvc |
|---|
| 657 | | Quotes arguments in the style of Microsoft Visual C++. |
|---|
| 658 | | o.... 'cygnus |
|---|
| 659 | | Quotes arguments in the style of Cygnus libraries. |
|---|
| 660 | | |
|---|
| 661 | | If ARGV0ISP is non-nil, convert a separator of argv[0] to `\\'. |
|---|
| 662 | | |
|---|
| 663 | | After connecting arguments in the sytle of QUOTING into a single string, |
|---|
| 664 | | the string is converted according to EP, H2SP, QP, and S2IPS. |
|---|
| 665 | | |
|---|
| 666 | | If H2SP is non-nil, '-' in a string will be converted to '/'. |
|---|
| 667 | | If S2ISP is non-nil, '/' in a string will be converted to '\\'. |
|---|
| 668 | | If EP is non-nil, regards '\\' as an escape character, thus, |
|---|
| 669 | | any character followings to '\\' is NEVER converted. |
|---|
| 670 | | If QP is non-nil, regard a part enclosed with ' or " as a quoted-string, |
|---|
| 671 | | thus it is NOT converted. |
|---|
| 672 | | |
|---|
| 673 | | ------------------------------------------------------ |
|---|
| 674 | | |
|---|
| 675 | | 3.4..Input Method Editor(on Windows) |
|---|
| 676 | | |
|---|
| 677 | | Of course you can use IME on Windows. |
|---|
| 678 | | Meadow has IME automatic control system, you can use it by this setting. |
|---|
| 679 | | ----- |
|---|
| 680 | | (mw32-ime-initialize) |
|---|
| 681 | | ----- |
|---|
| 682 | | Please add this line to the head of your .emacs. |
|---|
| 683 | | |
|---|
| 684 | | And then, please select the `MW32-IME' input method by this setting. |
|---|
| 685 | | ----- |
|---|
| 686 | | (setq default-input-method "MW32-IME") |
|---|
| 687 | | ----- |
|---|
| 688 | | |
|---|
| 689 | | (mw32-ime-initialize) may be able to set keyboard-coding-system, |
|---|
| 690 | | it depends on your system or IME. If keyboard-coding-system is |
|---|
| 691 | | not set by (mw32-ime-initialize), please set keyboard-coding-system |
|---|
| 692 | | manually by the following configuration. |
|---|
| 693 | | |
|---|
| 694 | | (set-keyboard-coding-system '<coding system>) |
|---|
| 695 | | |
|---|
| 696 | | For example, |
|---|
| 697 | | ----- |
|---|
| 698 | | (set-keyboard-coding-system 'sjis) |
|---|
| 699 | | ----- |
|---|
| 700 | | |
|---|
| 701 | | You can set IME composition font by specifying `ime-font' key |
|---|
| 702 | | in the frame-alist. But this MUST BE a Windows font. |
|---|
| 703 | | |
|---|
| 704 | | e.g. |
|---|
| 705 | | (setq default-frame-alist |
|---|
| 706 | | (cons '(ime-font . "IME font") |
|---|
| 707 | | default-frame-alist)) |
|---|
| 708 | | |
|---|
| 709 | | ------------------------------------------------------ |
|---|
| 710 | | |
|---|
| 711 | | 3.5..Other functions, variables |
|---|
| 712 | | |
|---|
| 713 | | <Reserved> |
|---|
| 714 | | |
|---|
| 715 | | ------------------------------------------------------ |
|---|
| 716 | | |
|---|
| 717 | | 4...Annotation |
|---|
| | 40 | http://www.meadowy.org/meadow/ |
|---|
| 720 | | The following packages are added in Meadow package. |
|---|
| 721 | | |
|---|
| 722 | | o... LEIM (Library for Emacs Input Method) is |
|---|
| 723 | | in leim directory of the binary distribution |
|---|
| 724 | | and in <VERSION>\leim of the source distribution. |
|---|
| 725 | | |
|---|
| 726 | | If you don't need it, remove leim directory. |
|---|
| 727 | | Even in source distribution, you can build Meadow without LEIM. |
|---|
| 728 | | |
|---|
| 729 | | o... Nana-gnus is in site-lisp\gnus of only the binary distribution. |
|---|
| 730 | | o... APEL is in site-lisp\apel and <VERSION>\site-lisp of only the binary distribution. |
|---|
| 731 | | o... FLIM is in site-lisp\flim of only the binary distribution. |
|---|
| 732 | | o... SEMI is in site-lisp\semi of only the binary distribution. |
|---|
| 733 | | |
|---|
| 734 | | ------------------------------------------------------------ |
|---|
| 735 | | |
|---|
| 736 | | ------------------------------------------------------------ |
|---|
| 737 | | Meadow 1.14 includes UTF-8 and UTF-16 autodetection features. |
|---|
| 738 | | You can have such features with Mule-UCS 0.54 or later. |
|---|
| 739 | | |
|---|
| 740 | | Mule-UCS can be obtained from ftp server |
|---|
| 741 | | ftp://ftp.m17n.org/pub/mule/Mule-UCS |
|---|
| 742 | | |
|---|
| 743 | | or CVS pserver(Empty password). |
|---|
| 744 | | FYI, following commands are an example for checkout. |
|---|
| 745 | | [login] |
|---|
| 746 | | cvs -d:pserver:anonymous@park.meadowy.org:/cvsroot login |
|---|
| 747 | | [Press Enter as password] |
|---|
| 748 | | [Checkout] |
|---|
| 749 | | cvs -d:pserver:anonymous@park.meadowy.org:/cvsroot co mule-ucs |
|---|
| 750 | | |
|---|
| 751 | | ------------------------------------------------------------ |
|---|
| 752 | | |
|---|
| 753 | | |
|---|
| 754 | | ------------------------------------------------------------ |
|---|
| 755 | | Meadow does NOT retrieve FQDN in its startup. |
|---|
| 756 | | Therefore, (system-name) would not give the FQDN in the case of default. |
|---|
| 757 | | But you can get the FQDN of your host by (w32-get-fqdn) function. |
|---|
| 758 | | |
|---|
| 759 | | For example, you can set the following setttings in your start up file |
|---|
| 760 | | (.emacs, site-start.el .etc), and you could get the FQDN by (system-name) |
|---|
| 761 | | |
|---|
| 762 | | --------------- |
|---|
| 763 | | (setq system-name (w32-get-fqdn)) |
|---|
| 764 | | --------------- |
|---|
| 765 | | |
|---|
| 766 | | This setting maybe make your system popup the dialup network dialog. |
|---|
| 767 | | You want to cease this dialog, plese check the following. |
|---|
| 768 | | |
|---|
| 769 | | o....Set the correct domain name and host name in the Control Panel. |
|---|
| 770 | | |
|---|
| 771 | | You should set the domain name and host name by the Control Panel. |
|---|
| 772 | | Pop up the Control Panel, and then Select 'Network', click 'Protocol' tab, |
|---|
| 773 | | select 'TCP/IP Protocol' by double click, and then click 'DNS' tab. |
|---|
| 774 | | |
|---|
| 775 | | You will see two edit controls---'Host name' and 'Domain'. |
|---|
| 776 | | For example, we assume your full qualified domain name(FQDN) is |
|---|
| 777 | | `machine1.anonymous-u.ac.jp'. |
|---|
| 778 | | You must set `machine1' to the `Host name' entry, and `anonymous-u.ac.jp' |
|---|
| 779 | | to the `Domain' entry. |
|---|
| 780 | | |
|---|
| 781 | | Have you resolved this problem? |
|---|
| 782 | | If you can't, please check the next. |
|---|
| 783 | | |
|---|
| 784 | | o....Set the `hosts' file. |
|---|
| 785 | | |
|---|
| 786 | | Windows socket system also resolve domain names by hosts file. |
|---|
| 787 | | Therefore, you can resolve your host by setting this file. |
|---|
| 788 | | First, you should copy `hosts.sam' file in the Windows directory. |
|---|
| 789 | | Then please change the `localhost' entry into what is like this. |
|---|
| 790 | | ----------------------- |
|---|
| 791 | | 127.0.0.1 localhost <YOUR HOST NAME(FQDN)> |
|---|
| 792 | | ----------------------- |
|---|
| 793 | | |
|---|
| 794 | | ------------------------------------------------------------ |
|---|
| 795 | | |
|---|
| 796 | | 5..... Informations of mailing lists. |
|---|
| 797 | | |
|---|
| 798 | | There are two mailing lists for discussing about Meadow. |
|---|
| 799 | | But this service is temporal, and in the future, we will change. |
|---|
| 800 | | |
|---|
| 801 | | meadow-users-en@meadowy.org (English) |
|---|
| 802 | | If you want to join, please send empty mail to |
|---|
| 803 | | <meadow-users-en-subscribe@meadowy.org>. |
|---|
| 804 | | If you want to unsubscribe, please send empty mail to |
|---|
| 805 | | <meadow-users-en-unsubscribe@meadowy.org>. |
|---|
| 806 | | A confirmative mail is sent to you automatically. |
|---|
| 807 | | |
|---|
| 808 | | meadow-users-jp@meadowy.org (Japanese) |
|---|
| 809 | | If you want to join, please send empty mail to |
|---|
| 810 | | <meadow-users-jp-subscribe@meadowy.org>. |
|---|
| 811 | | If you want to unsubscribe, please send empty mail to |
|---|
| 812 | | <meadow-users-jp-unsubscribe@meadowy.org>. |
|---|
| 813 | | A confirmative mail is sent to you automatically. |
|---|
| 814 | | |
|---|
| 815 | | Notice!!! |
|---|
| 816 | | All that join in these ML are regarded as accepting the terms below. |
|---|
| 817 | | |
|---|
| 818 | | o All data in this ML, like all discussions and statement, are used |
|---|
| 819 | | for any documents about Meadow(e.g. FAQ, manuals .etc), which |
|---|
| 820 | | is distributed in GPL(GNU General Public License). |
|---|
| 821 | | If you do not like part of your message to be distributed as GPL, |
|---|
| 822 | | please declare it at the top of the message. |
|---|
| 823 | | |
|---|
| 824 | | ------------------------------------------------------------ |
|---|
| 825 | | |
|---|
| 826 | | 6..... Acknoledgement |
|---|
| 827 | | |
|---|
| 828 | | I am very grateful to many people for contributing to Meadow. |
|---|
| 829 | | |
|---|
| 830 | | First of all, thanks to all members of meadow-develop ML, |
|---|
| 831 | | who supported development of Meadow and discuss how to improve Meadow. |
|---|
| 832 | | |
|---|
| 833 | | Tomura Satoru(Mule Project Leader) gave me kind encouragement and |
|---|
| 834 | | give me many chances to develop free softwares. |
|---|
| 835 | | |
|---|
| 836 | | Handa Kenich(Mule Project) taught me about details and futures of mule |
|---|
| 837 | | features, and give me many hints to implement Meadow. |
|---|
| 838 | | |
|---|
| 839 | | Hayashi Yoshiki edits FAQ-Meadow and cooperate to make this document, and |
|---|
| 840 | | he gave good bug reports and requests. |
|---|
| 841 | | |
|---|
| 842 | | Kitaguchi Shuichi, who is an author of fiber and holds Mew-Win32 project, |
|---|
| 843 | | made modified version of fiber from my request and give us good comments. |
|---|
| 844 | | |
|---|
| 845 | | Suzuki Keiichi is a pretty maintainer on Nana-gnus, who contributed sample |
|---|
| 846 | | configurations and prepared Nana-gnus included in Meadow1.10. |
|---|
| 847 | | |
|---|
| 848 | | Goto Shun-ichi reported many bugs, sent patches to ML, and |
|---|
| 849 | | give supports APOP of movemail. He modified movemail from my request. |
|---|
| 850 | | |
|---|
| 851 | | Ohba Koichiro maintains the movemail included in Meadow, and sent |
|---|
| 852 | | comments on IMM and behavior of Meadow. |
|---|
| 853 | | |
|---|
| 854 | | Koseki Yoshinori contributed good documents on |
|---|
| 855 | | WWW(http://www.netlaputa.ne.jp/~kose), and supported many Meadow |
|---|
| 856 | | users. |
|---|
| 857 | | |
|---|
| 858 | | Horiguchi Kyotaro reported many bugs, and made many patches. Some of them |
|---|
| 859 | | is very crucial, and much helped our works for development. |
|---|
| 860 | | |
|---|
| 861 | | Tsubakimoto Hiroya, who ported telnet included in Meadow, |
|---|
| 862 | | sent some codes on BDF font rendering, and send patches to fix bugs. |
|---|
| 863 | | |
|---|
| 864 | | Mori Keisuke requested some features on Meadow, and give me some patches. |
|---|
| 865 | | |
|---|
| 866 | | Ichikawa(Tim) Tatsuya, who is a maintainer of T-gnus, also gave requests and |
|---|
| 867 | | report mainly on Bitmap-Mule(mmm...). |
|---|
| 868 | | |
|---|
| 869 | | Morioka Tomohiko(Mule Project), who is a main author of APEL, FLIM, |
|---|
| 870 | | and SEMI, gave me many useful comments personally, and held much |
|---|
| 871 | | discussion on many subjects for me. # (some of them are stern to |
|---|
| 872 | | me. ... :-) |
|---|
| 873 | | |
|---|
| 874 | | Finally, I'd like to present my thanks to all people who supported me! |
|---|
| 875 | | |
|---|
| 876 | | ------------------------------------------------------------ |
|---|
| 877 | | A..... License |
|---|
| 878 | | |
|---|
| 879 | | Fundamentally, Meadow follows the original license of GNU Emacs, |
|---|
| 880 | | which is GPL (gnu General Public License) Version 2, or (at your |
|---|
| 881 | | option) any later version. |
|---|
| 882 | | |
|---|
| 883 | | You should have received a copy of the GNU General Public License |
|---|
| 884 | | along with Meadow(GNU Emacs); see the file COPYING. If not, write to |
|---|
| 885 | | the Free Software Foundation, 59 Temple Place, Suite 330, Boston, |
|---|
| 886 | | MA 02111-1307 USA. |
|---|
| 887 | | |
|---|
| 888 | | But `ftp.exe' included in the binary distribution of Meadow is an |
|---|
| 889 | | exception. This program is allowed to include in the package by |
|---|
| 890 | | Chris Szurgot<szurgot@itribe.net>. |
|---|
| 891 | | If you want to know its correct license, please contact him. |
|---|
| 892 | | (Original source is distributed in the BSD style aka "AS-IS".) |
|---|
| 893 | | |
|---|
| 894 | | And `telnet.exe' included in the binary distribution of Meadow is another |
|---|
| 895 | | exception. This program is ported by Tsubakimoto Hiroya. |
|---|
| 896 | | This program is allowed to include by Tsubakimoto Hiroya<zorac@4000do.co.jp>. |
|---|
| 897 | | Its original is also distributed in the BSD style. |
|---|
| 898 | | |
|---|
| 899 | | B.....File name. |
|---|
| 900 | | |
|---|
| 901 | | Packages of Meadow are named the following file names. |
|---|
| 902 | | |
|---|
| 903 | | Meadow-${VERSION}-src.tar.gz Source package |
|---|
| 904 | | Meadow-${VERSION}-i386-base.tar.gz Intel x86 Binary (base system) |
|---|
| 905 | | Meadow-${VERSION}-i386-els.tar.gz Intel x86 Binary (.el files) |
|---|
| 906 | | Meadow-${VERSION}-i386-leim.tar.gz Intel x86 Binary (leim files) |
|---|
| 907 | | |
|---|
| 908 | | ------------------------------------------------------------ |
|---|