- Timestamp:
- Nov 13, 2002, 1:17:19 PM (23 years ago)
- Location:
- trunk/src/riched32
- Files:
-
- 1 added
- 1 deleted
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/riched32/LICENSE.TXT
r6379 r9407 1 $Id: LICENSE.TXT,v 1. 1 2001-07-21 08:58:46sandervl Exp $2 @cThis is an additional Odin license agreement.3 @cIt supercedes the main Odin license, but is only valid in4 @cthe source directory in which it is present.1 $Id: LICENSE.TXT,v 1.2 2002-11-13 12:17:17 sandervl Exp $ 2 This is an additional Odin license agreement. 3 It supercedes the main Odin license, but is only valid in 4 the source directory in which it is present. 5 5 6 @c This file is processed by GNU's TeXinfo 7 @c If you modify it or move it to another location, make sure that 8 @c TeXinfo works (type `make' in directory documentation). 9 10 Copyright (c) 1993-2000 the Wine project authors (see the file AUTHORS 6 Copyright (c) 1993-2002 the Wine project authors (see the file AUTHORS 11 7 for a complete list) 12 8 13 Permission is hereby granted, free of charge, to any person obtaining a copy 14 of this software and associated documentation files (the "Software"), to deal 15 in the Software without restriction, including without limitation the rights 16 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 17 copies of the Software, and to permit persons to whom the Software is 18 furnished to do so, subject to the following conditions: 9 Wine is free software; you can redistribute it and/or modify it under 10 the terms of the GNU Lesser General Public License as published by the 11 Free Software Foundation; either version 2.1 of the License, or (at 12 your option) any later version. 19 13 20 The above copyright notice and this permission notice shall be included in 21 all copies or substantial portions of the Software. 14 This program is distributed in the hope that it will be useful, but 15 WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 Lesser General Public License for more details. 22 18 23 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 24 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 25 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 26 COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 27 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 28 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 A copy of the GNU Lesser General Public License is included in the 20 Wine distribution in the file COPYING.LIB. If you did not receive this 21 copy, write to the Free Software Foundation, Inc., 59 Temple Place, 22 Suite 330, Boston, MA 02111-1307 USA. -
trunk/src/riched32/ansi_gen.h
r3515 r9407 13 13 characters.*/ 14 14 15 int ansi_gen[] = 15 int ansi_gen[] = 16 16 { 17 17 rtfSC_formula ,0x06, -
trunk/src/riched32/ansi_sym.h
r3515 r9407 1 1 /* 2 2 * RTF ANSI character set (\ansi) Symbol font map 3 * 3 * 4 4 * Field 1 is the standard character name which the character value in 5 5 * field 2 maps onto. (It doesn't mean "to produce the character in field 1, 6 6 * use the value in field 2.) 7 * 7 * 8 8 * The character value may be given either as a single character (which will be 9 9 * converted to the ASCII value of the character), or in numeric format, either 10 10 * in decimal or 0xyy as hex yy. Single or double quotes may be used to quote 11 11 * characters. 12 * 12 * 13 13 */ 14 14 15 15 int ansi_sym[] = 16 16 { -
trunk/src/riched32/charlist.c
r3922 r9407 1 /* $Id: charlist.c,v 1.2 2000-08-02 14:58:40 bird Exp $ */2 1 /* 3 2 * … … 6 5 * Copyright (c) 2000 by Jean-Claude Batista 7 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 8 20 */ 9 21 … … 13 25 #include <ctype.h> 14 26 #include <stdlib.h> 27 15 28 #include "charlist.h" 16 #include "windows.h" 29 #include "windef.h" 30 #include "winbase.h" 31 #include "wine/debug.h" 32 33 WINE_DEFAULT_DEBUG_CHANNEL(richedit); 17 34 18 35 extern HANDLE RICHED32_hHeap; … … 23 40 pNewEntry->pNext = NULL; 24 41 pNewEntry->myChar = myChar; 42 43 TRACE("\n"); 25 44 26 45 if(pCharList->pTail == NULL) … … 40 59 { 41 60 CHARLISTENTRY* pNewEntry = malloc(sizeof(CHARLISTENTRY)); 61 62 TRACE("\n"); 42 63 43 64 pNewEntry->myChar = myChar; … … 63 84 char myChar; 64 85 86 TRACE("\n"); 87 65 88 if(pCharList->nCount == 0) 66 89 return 0; … … 85 108 int CHARLIST_GetNbItems(CHARLIST* pCharList) 86 109 { 110 TRACE("\n"); 111 87 112 return pCharList->nCount; 88 113 } 89 114 90 115 void CHARLIST_FreeList(CHARLIST* pCharList){ 116 TRACE("\n"); 117 91 118 while(pCharList->nCount) 92 119 CHARLIST_Dequeue(pCharList); 93 120 } 94 121 95 /* this function count the number of occurences of a caracter */122 /* this function counts the number of occurrences of a caracter */ 96 123 int CHARLIST_CountChar(CHARLIST* pCharList, char myChar) 97 124 { 98 125 CHARLISTENTRY *pCurrent; 99 126 int nCount = 0; 127 128 TRACE("\n"); 100 129 101 130 for(pCurrent =pCharList->pHead ;pCurrent;pCurrent=pCurrent->pNext) … … 108 137 int CHARLIST_toBuffer(CHARLIST* pCharList, char* pBuffer, int nBufferSize) 109 138 { 139 140 TRACE("\n"); 110 141 111 142 /* we add one to store a NULL caracter */ -
trunk/src/riched32/charlist.h
r3515 r9407 1 /* 2 * Character List 3 * 4 * Copyright (c) 2000 by Jean-Claude Batista 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 1 21 #ifndef _CHARLIST 2 22 #define _CHARLIST … … 10 30 typedef struct _tagCHARLIST 11 31 { 12 unsigned int nCount; / / Entries Count;32 unsigned int nCount; /* Entries Count; */ 13 33 CHARLISTENTRY *pHead; 14 34 CHARLISTENTRY *pTail; -
trunk/src/riched32/initriched32.cpp
r6891 r9407 1 /* $Id: initriched32.cpp,v 1. 3 2001-09-30 08:45:52 birdExp $ */1 /* $Id: initriched32.cpp,v 1.4 2002-11-13 12:17:18 sandervl Exp $ */ 2 2 /* 3 3 * DLL entry point … … 53 53 { 54 54 case DLL_PROCESS_ATTACH: 55 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad);55 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 56 56 57 57 case DLL_THREAD_ATTACH: 58 58 case DLL_THREAD_DETACH: 59 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad);59 return RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 60 60 61 61 case DLL_PROCESS_DETACH: 62 ret = RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad);63 ctordtorTerm();64 62 ret = RICHED32_LibMain(hinstDLL, fdwReason, fImpLoad); 63 ctordtorTerm(); 64 return ret; 65 65 } 66 66 return FALSE; … … 88 88 case 0 : 89 89 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 90 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&riched32_PEResTab);90 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&riched32_PEResTab); 91 91 if(dllHandle == 0) 92 return 0UL;92 return 0UL; 93 93 94 94 break; 95 95 96 case 1 : 96 97 if(dllHandle) { 97 UnregisterLxDll(dllHandle);98 UnregisterLxDll(dllHandle); 98 99 } 99 100 break; -
trunk/src/riched32/makefile
r6895 r9407 1 # $Id: makefile,v 1. 7 2001-09-30 09:34:43 birdExp $1 # $Id: makefile,v 1.8 2002-11-13 12:17:18 sandervl Exp $ 2 2 3 3 # … … 27 27 $(OBJDIR)\reader.obj \ 28 28 $(OBJDIR)\charlist.obj \ 29 $(OBJDIR)\text writer.obj \29 $(OBJDIR)\text-writer.obj \ 30 30 $(OBJDIR)\richedit.obj \ 31 31 $(OBJDIR)\initterm.obj \ -
trunk/src/riched32/reader.c
r3922 r9407 1 /* $Id: reader.c,v 1.2 2000-08-02 14:58:40 bird Exp $ */2 1 /* 3 2 * - Need to document error code meanings. … … 74 73 75 74 #include <stdlib.h> 75 76 76 #include "charlist.h" 77 #include "windows.h" 77 #include "windef.h" 78 #include "winbase.h" 79 #include "wine/debug.h" 80 81 WINE_DEFAULT_DEBUG_CHANNEL(richedit); 78 82 79 83 extern HANDLE RICHED32_hHeap; … … 93 97 94 98 # define maxCSStack 10 95 96 #ifndef __WIN32OS2__97 #ifndef THINK_C98 extern char *malloc ();99 #else100 extern void *malloc(size_t);101 #endif102 #endif103 99 104 100 static int _RTFGetChar(); … … 128 124 int rtfMinor; 129 125 int rtfParam; 126 int rtfFormat; 130 127 char *rtfTextBuf = (char *) NULL; 131 128 int rtfTextLen; … … 166 163 */ 167 164 168 static char *stdCharName[] = 169 { 170 # include "stdcharnames.h" 171 (char *) NULL 172 }; 173 165 #include "stdcharnames.h" 174 166 175 167 /* … … 214 206 */ 215 207 216 int 217 _RTFGetChar() 208 int _RTFGetChar(void) 218 209 { 219 210 char myChar; 211 212 TRACE("\n"); 213 220 214 if(CHARLIST_GetNbItems(&inputCharList) == 0) 221 215 { … … 232 226 } 233 227 234 void 235 RTFSetEditStream(EDITSTREAM *es) 236 { 228 void RTFSetEditStream(EDITSTREAM *es) 229 { 230 TRACE("\n"); 231 237 232 editstream.dwCookie = es->dwCookie; 238 233 editstream.dwError = es->dwError; … … 246 241 */ 247 242 248 void 249 RTFInit () 243 void RTFInit(void) 250 244 { 251 245 int i; … … 254 248 RTFStyle *sp; 255 249 RTFStyleElt *eltList, *ep; 250 251 TRACE("\n"); 256 252 257 253 if (rtfTextBuf == (char *) NULL) /* initialize the text buffers */ … … 337 333 */ 338 334 339 void 340 RTFSetInputName (name) 341 char *name;342 { 335 void RTFSetInputName(char *name) 336 { 337 TRACE("\n"); 338 343 339 if ((inputName = RTFStrSave (name)) == (char *) NULL) 344 340 RTFPanic ("RTFSetInputName: out of memory"); … … 346 342 347 343 348 char * 349 RTFGetInputName () 344 char *RTFGetInputName(void) 350 345 { 351 346 return (inputName); … … 353 348 354 349 355 void 356 RTFSetOutputName (name) 357 char *name;358 { 350 void RTFSetOutputName(char *name) 351 { 352 TRACE("\n"); 353 359 354 if ((outputName = RTFStrSave (name)) == (char *) NULL) 360 355 RTFPanic ("RTFSetOutputName: out of memory"); … … 362 357 363 358 364 char * 365 RTFGetOutputName () 359 char *RTFGetOutputName(void) 366 360 { 367 361 return (outputName); … … 385 379 386 380 387 void 388 RTFSetClassCallback (class, callback) 389 int class; 390 RTFFuncPtr callback; 381 void RTFSetClassCallback(int class, RTFFuncPtr callback) 391 382 { 392 383 if (class >= 0 && class < rtfMaxClass) … … 395 386 396 387 397 RTFFuncPtr 398 RTFGetClassCallback (class) 399 int class; 388 RTFFuncPtr RTFGetClassCallback(int class) 400 389 { 401 390 if (class >= 0 && class < rtfMaxClass) … … 412 401 413 402 414 void 415 RTFSetDestinationCallback (dest, callback) 416 int dest; 417 RTFFuncPtr callback; 403 void RTFSetDestinationCallback(int dest, RTFFuncPtr callback) 418 404 { 419 405 if (dest >= 0 && dest < rtfMaxDestination) … … 422 408 423 409 424 RTFFuncPtr 425 RTFGetDestinationCallback (dest) 426 int dest; 410 RTFFuncPtr RTFGetDestinationCallback(int dest) 427 411 { 428 412 if (dest >= 0 && dest < rtfMaxDestination) … … 444 428 */ 445 429 446 void 447 RTFRead () 430 void RTFRead(void) 448 431 { 449 432 while (RTFGetToken () != rtfEOF) … … 458 441 */ 459 442 460 void 461 RTFRouteToken () 443 void RTFRouteToken(void) 462 444 { 463 445 RTFFuncPtr p; 446 447 TRACE("\n"); 464 448 465 449 if (rtfClass < 0 || rtfClass >= rtfMaxClass) /* watchdog */ … … 491 475 */ 492 476 493 void 494 RTFSkipGroup () 477 void RTFSkipGroup(void) 495 478 { 496 479 int level = 1; 480 TRACE("\n"); 497 481 498 482 while (RTFGetToken () != rtfEOF) … … 518 502 */ 519 503 520 int 521 RTFGetToken () 504 int RTFGetToken(void) 522 505 { 523 506 RTFFuncPtr p; 507 TRACE("\n"); 524 508 525 509 for (;;) … … 530 514 531 515 /* Silently discard newlines, carriage returns, nulls. */ 532 if (!(rtfClass == rtfText 533 && (rtfMajor == '\n' || rtfMajor == '\r' 534 || rtfMajor == '\0'))) 516 if (!(rtfClass == rtfText && rtfFormat != SF_TEXT 517 && (rtfMajor == '\r' || rtfMajor == '\n' || rtfMajor == '\0'))) 535 518 break; 536 519 } … … 546 529 547 530 548 void 549 RTFSetReadHook (f) 550 RTFFuncPtr f; 531 void RTFSetReadHook(RTFFuncPtr f) 551 532 { 552 533 readHook = f; … … 554 535 555 536 556 RTFFuncPtr 557 RTFGetReadHook () 537 RTFFuncPtr RTFGetReadHook(void) 558 538 { 559 539 return (readHook); … … 561 541 562 542 563 void 564 RTFUngetToken () 565 { 543 void RTFUngetToken(void) 544 { 545 TRACE("\n"); 546 566 547 if (pushedClass >= 0) /* there's already an ungotten token */ 567 548 RTFPanic ("cannot unget two tokens"); … … 576 557 577 558 578 int 579 RTFPeekToken () 559 int RTFPeekToken(void) 580 560 { 581 561 _RTFGetToken (); … … 585 565 586 566 587 static void 588 _RTFGetToken () 567 static void _RTFGetToken(void) 589 568 { 590 569 RTFFont *fp; 570 571 TRACE("\n"); 572 573 if (rtfFormat == SF_TEXT) { 574 rtfMajor = GetChar (); 575 rtfMinor = rtfSC_nothing; 576 rtfParam = rtfNoParam; 577 rtfTextBuf[rtfTextLen = 0] = '\0'; 578 if (rtfMajor == EOF) 579 rtfClass = rtfEOF; 580 else 581 rtfClass = rtfText; 582 return; 583 } 591 584 592 585 /* first check for pushed token from RTFUngetToken() */ … … 660 653 /* this shouldn't be called anywhere but from _RTFGetToken() */ 661 654 662 static void 663 _RTFGetToken2 () 655 static void _RTFGetToken2(void) 664 656 { 665 657 int sign; 666 658 int c; 659 660 TRACE("\n"); 667 661 668 662 /* initialize token vars */ … … 831 825 832 826 833 static int 834 GetChar () 827 static int GetChar(void) 835 828 { 836 829 int c; 837 830 int oldBumpLine; 831 832 TRACE("\n"); 838 833 839 834 if ((c = _RTFGetChar()) != EOF) … … 874 869 */ 875 870 876 void 877 RTFSetToken (class, major, minor, param, text) 878 int class, major, minor, param; 879 char *text; 880 { 871 void RTFSetToken(int class, int major, int minor, int param, char *text) 872 { 873 TRACE("\n"); 874 881 875 rtfClass = class; 882 876 rtfMajor = major; … … 911 905 */ 912 906 913 static void 914 CharSetInit () 915 { 907 static void CharSetInit(void) 908 { 909 TRACE("\n"); 910 916 911 autoCharSetFlags = (rtfReadCharSet | rtfSwitchCharSet); 917 912 RTFFree (genCharSetFile); … … 931 926 */ 932 927 933 void 934 RTFSetCharSetMap (name, csId) 935 char *name; 936 int csId; 937 { 928 void RTFSetCharSetMap (char *name, int csId) 929 { 930 TRACE("\n"); 931 938 932 if ((name = RTFStrSave (name)) == (char *) NULL) /* make copy */ 939 933 RTFPanic ("RTFSetCharSetMap: out of memory"); … … 961 955 */ 962 956 963 static void 964 ReadCharSetMaps () 957 static void ReadCharSetMaps(void) 965 958 { 966 959 char buf[rtfBufSiz]; 960 961 TRACE("\n"); 967 962 968 963 if (genCharSetFile != (char *) NULL) … … 987 982 */ 988 983 989 int 990 RTFReadCharSetMap (csId) 991 int csId; 984 int RTFReadCharSetMap(int csId) 992 985 { 993 986 int *stdCodeArray; 994 987 int i; 988 989 TRACE("\n"); 990 995 991 switch (csId) 996 992 { … … 1037 1033 */ 1038 1034 1039 int 1040 RTFStdCharCode (name) 1041 char *name; 1035 int RTFStdCharCode(char *name) 1042 1036 { 1043 1037 int i; 1038 1039 TRACE("\n"); 1044 1040 1045 1041 for (i = 0; i < rtfSC_MaxChar; i++) … … 1057 1053 */ 1058 1054 1059 char * 1060 RTFStdCharName (code) 1061 int code; 1055 char *RTFStdCharName(int code) 1062 1056 { 1063 1057 if (code < 0 || code >= rtfSC_MaxChar) … … 1076 1070 */ 1077 1071 1078 int 1079 RTFMapChar (c) 1080 int c;1081 { 1072 int RTFMapChar(int c) 1073 { 1074 TRACE("\n"); 1075 1082 1076 switch (curCharSet) 1083 1077 { … … 1107 1101 */ 1108 1102 1109 void 1110 RTFSetCharSet (csId) 1111 int csId;1112 { 1103 void RTFSetCharSet(int csId) 1104 { 1105 TRACE("\n"); 1106 1113 1107 switch (csId) 1114 1108 { … … 1126 1120 1127 1121 1128 int 1129 RTFGetCharSet () 1122 int RTFGetCharSet(void) 1130 1123 { 1131 1124 return (curCharSet); … … 1161 1154 */ 1162 1155 1163 static void 1164 ReadFontTbl () 1156 static void ReadFontTbl(void) 1165 1157 { 1166 1158 RTFFont *fp = NULL; … … 1168 1160 int old = -1; 1169 1161 char *fn = "ReadFontTbl"; 1162 1163 TRACE("\n"); 1170 1164 1171 1165 for (;;) … … 1312 1306 */ 1313 1307 1314 static void 1315 ReadColorTbl () 1308 static void ReadColorTbl(void) 1316 1309 { 1317 1310 RTFColor *cp; 1318 1311 int cnum = 0; 1319 1312 char *fn = "ReadColorTbl"; 1313 1314 TRACE("\n"); 1320 1315 1321 1316 for (;;) … … 1352 1347 */ 1353 1348 1354 static void 1355 ReadStyleSheet () 1349 static void ReadStyleSheet(void) 1356 1350 { 1357 1351 RTFStyle *sp; … … 1359 1353 char buf[rtfBufSiz], *bp; 1360 1354 char *fn = "ReadStyleSheet"; 1355 1356 TRACE("\n"); 1361 1357 1362 1358 for (;;) … … 1502 1498 1503 1499 1504 static void 1505 ReadInfoGroup () 1500 static void ReadInfoGroup(void) 1506 1501 { 1507 1502 RTFSkipGroup (); … … 1510 1505 1511 1506 1512 static void 1513 ReadPictGroup () 1507 static void ReadPictGroup(void) 1514 1508 { 1515 1509 RTFSkipGroup (); … … 1518 1512 1519 1513 1520 static void 1521 ReadObjGroup () 1514 static void ReadObjGroup(void) 1522 1515 { 1523 1516 RTFSkipGroup (); … … 1534 1527 1535 1528 1536 RTFStyle * 1537 RTFGetStyle (num) 1538 int num; 1529 RTFStyle *RTFGetStyle(int num) 1539 1530 { 1540 1531 RTFStyle *s; … … 1551 1542 1552 1543 1553 RTFFont * 1554 RTFGetFont (num) 1555 int num; 1544 RTFFont *RTFGetFont(int num) 1556 1545 { 1557 1546 RTFFont *f; … … 1568 1557 1569 1558 1570 RTFColor * 1571 RTFGetColor (num) 1572 int num; 1559 RTFColor *RTFGetColor(int num) 1573 1560 { 1574 1561 RTFColor *c; … … 1592 1579 */ 1593 1580 1594 void 1595 RTFExpandStyle (n) 1596 int n; 1581 void RTFExpandStyle(int n) 1597 1582 { 1598 1583 RTFStyle *s; 1599 1584 RTFStyleElt *se; 1585 1586 TRACE("\n"); 1600 1587 1601 1588 if (n == -1 || (s = RTFGetStyle (n)) == (RTFStyle *) NULL) … … 2555 2542 */ 2556 2543 2557 static void 2558 LookupInit () 2544 static void LookupInit(void) 2559 2545 { 2560 2546 static int inited = 0; … … 2575 2561 */ 2576 2562 2577 static void 2578 Lookup (s) 2579 char *s; 2563 static void Lookup(char *s) 2580 2564 { 2581 2565 RTFKey *rp; 2582 2566 int hash; 2583 2567 2568 TRACE("\n"); 2584 2569 ++s; /* skip over the leading \ character */ 2585 2570 hash = Hash (s); … … 2602 2587 */ 2603 2588 2604 static int 2605 Hash (s) 2606 char *s; 2589 static int Hash(char *s) 2607 2590 { 2608 2591 char c; … … 2631 2614 */ 2632 2615 2633 char * 2634 _RTFAlloc (size) 2635 int size; 2616 char *_RTFAlloc(int size) 2636 2617 { 2637 2618 return HeapAlloc(RICHED32_hHeap, 0, size); … … 2644 2625 2645 2626 2646 char * 2647 RTFStrSave (s) 2648 char *s; 2627 char *RTFStrSave(char *s) 2649 2628 { 2650 2629 char *p; … … 2656 2635 2657 2636 2658 void 2659 RTFFree (p) 2660 char *p; 2637 void RTFFree(char *p) 2661 2638 { 2662 2639 if (p != (char *) NULL) … … 2672 2649 */ 2673 2650 2674 int 2675 RTFCheckCM (class, major) 2676 int class, major; 2651 int RTFCheckCM(int class, int major) 2677 2652 { 2678 2653 return (rtfClass == class && rtfMajor == major); … … 2680 2655 2681 2656 2682 int 2683 RTFCheckCMM (class, major, minor) 2684 int class, major, minor; 2657 int RTFCheckCMM(int class, int major, int minor) 2685 2658 { 2686 2659 return (rtfClass == class && rtfMajor == major && rtfMinor == minor); … … 2688 2661 2689 2662 2690 int 2691 RTFCheckMM (major, minor) 2692 int major, minor; 2663 int RTFCheckMM(int major, int minor) 2693 2664 { 2694 2665 return (rtfMajor == major && rtfMinor == minor); … … 2699 2670 2700 2671 2701 int 2702 RTFCharToHex (c) 2703 char c; 2672 int RTFCharToHex(char c) 2704 2673 { 2705 2674 if (isupper (c)) … … 2711 2680 2712 2681 2713 int 2714 RTFHexToChar (i) 2715 int i; 2682 int RTFHexToChar(int i) 2716 2683 { 2717 2684 if (i < 10) … … 2742 2709 */ 2743 2710 2744 int 2745 RTFReadOutputMap (outMap, reinit) 2746 char *outMap[]; 2747 int reinit; 2711 int RTFReadOutputMap(char *outMap[], int reinit) 2748 2712 { 2749 2713 int i; … … 2781 2745 2782 2746 2783 void 2784 RTFSetOpenLibFileProc (proc) 2785 FILE *(*proc) (); 2747 void RTFSetOpenLibFileProc(FILE *(*proc)()) 2786 2748 { 2787 2749 libFileOpen = proc; … … 2789 2751 2790 2752 2791 FILE * 2792 RTFOpenLibFile (file, mode) 2793 char *file; 2794 char *mode; 2753 FILE *RTFOpenLibFile (char *file, char *mode) 2795 2754 { 2796 2755 if (libFileOpen == NULL) … … 2813 2772 2814 2773 2815 static void 2816 DefaultMsgProc (s) 2817 char *s; 2818 { 2819 fprintf (stderr, "%s", s); 2774 static void DefaultMsgProc(char *s) 2775 { 2776 MESSAGE( "%s", s); 2820 2777 } 2821 2778 … … 2824 2781 2825 2782 2826 void 2827 RTFSetMsgProc (proc) 2828 RTFFuncPtr proc; 2783 void RTFSetMsgProc(RTFFuncPtr proc) 2829 2784 { 2830 2785 msgProc = proc; … … 2838 2793 */ 2839 2794 2840 void 2841 RTFMsg (char *fmt, ...) 2795 void RTFMsg (char *fmt, ...) 2842 2796 { 2843 2797 char buf[rtfBufSiz]; … … 2859 2813 */ 2860 2814 2861 void 2862 RTFMsg (va_alist) 2863 va_dcl 2815 void RTFMsg (va_dcl va_alist) 2864 2816 { 2865 2817 va_list args; … … 2880 2832 */ 2881 2833 2882 void 2883 RTFMsg (fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9) 2884 char *fmt; 2885 char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9; 2834 void RTFMsg (char *fmt, char *a1, char *a2, char *a3, char *a4, char *a5, char *a6, char *a7, char *a8, char *a9) 2886 2835 { 2887 2836 char buf[rtfBufSiz]; … … 2905 2854 */ 2906 2855 2907 static void 2908 DefaultPanicProc (s) 2909 char *s; 2910 { 2911 fprintf (stderr, "%s", s); 2856 static void DefaultPanicProc(char *s) 2857 { 2858 MESSAGE( "%s", s); 2912 2859 /*exit (1);*/ 2913 2860 } … … 2917 2864 2918 2865 2919 void 2920 RTFSetPanicProc (proc) 2921 RTFFuncPtr proc; 2866 void RTFSetPanicProc(RTFFuncPtr proc) 2922 2867 { 2923 2868 panicProc = proc; … … 2931 2876 */ 2932 2877 2933 void 2934 RTFPanic (char *fmt, ...) 2878 void RTFPanic(char *fmt, ...) 2935 2879 { 2936 2880 char buf[rtfBufSiz]; … … 2959 2903 */ 2960 2904 2961 void 2962 RTFPanic (va_alist) 2963 va_dcl 2905 void RTFPanic(va_dcl va_alist) 2964 2906 { 2965 2907 va_list args; … … 2987 2929 */ 2988 2930 2989 void 2990 RTFPanic (fmt, a1, a2, a3, a4, a5, a6, a7, a8, a9) 2991 char *fmt; 2992 char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8, *a9; 2931 void RTFPanic (char *fmt, char *a1, char *a2, char *a3, char *a4, char *a5, char *a6, char *a7, char *a8, char *a9) 2993 2932 { 2994 2933 char buf[rtfBufSiz]; -
trunk/src/riched32/riched32.h
r3515 r9407 4 4 * Copyright 2000 Jean-Clauyde Batista 5 5 * 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 6 20 */ 7 21 … … 9 23 #define __WINE_RICHED32_H 10 24 25 #include "windef.h" 26 #include "winuser.h" 11 27 #include "richedit.h" 12 28 13 extern HMODULE RICHED32_hModule;14 29 extern VOID RICHED32_Register (VOID); 15 30 extern VOID RICHED32_Unregister (VOID); -
trunk/src/riched32/richedit.c
r4370 r9407 1 /* $Id: richedit.c,v 1.4 2000-10-02 13:36:39 sandervl Exp $ */2 1 /* 3 2 * RichEdit32 functions 4 3 * 5 * This module is a simple wrap -arroundthe edit controls.6 * At the point, it is good only for application who use the RICHEDIT control to7 * display RTF text.4 * This module is a simple wrapper for the edit controls. 5 * At the point, it is good only for application who use the RICHEDIT 6 * control to display RTF text. 8 7 * 9 8 * Copyright 2000 by Jean-Claude Batista 10 9 * 10 * This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU Lesser General Public 12 * License as published by the Free Software Foundation; either 13 * version 2.1 of the License, or (at your option) any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * Lesser General Public License for more details. 19 * 20 * You should have received a copy of the GNU Lesser General Public 21 * License along with this library; if not, write to the Free Software 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 11 23 */ 12 24 13 #include "windows.h" 25 #include <string.h> 26 #include "windef.h" 14 27 #include "winbase.h" 15 #include " heap.h"16 #include " debugtools.h"28 #include "wingdi.h" 29 #include "winreg.h" 17 30 #include "winerror.h" 18 31 #include "riched32.h" 19 32 #include "richedit.h" 20 33 #include "charlist.h" 34 #define NO_SHLWAPI_STREAM 35 #include "shlwapi.h" 21 36 22 37 #include "rtf.h" 23 38 #include "rtf2text.h" 39 #include "wine/debug.h" 24 40 25 41 #define ID_EDIT 1 26 42 27 DEFAULT_DEBUG_CHANNEL(richedit) 43 WINE_DEFAULT_DEBUG_CHANNEL(richedit); 28 44 29 45 HANDLE RICHED32_hHeap = (HANDLE)NULL; 30 DWORD RICHED32_dwProcessesAttached = 0;31 46 /* LPSTR RICHED32_aSubclass = (LPSTR)NULL; */ 32 HMODULE RICHED32_hModule = 0; 33 34 /* 35 * RICHED32_LibMain [Internal] Initializes the internal 'RICHED32.DLL'. 47 48 #define DPRINTF_EDIT_MSG32(str) \ 49 TRACE(\ 50 "32 bit : " str ": hwnd=%p, wParam=%08x, lParam=%08x\n"\ 51 , \ 52 hwnd, (UINT)wParam, (UINT)lParam) 53 54 55 /*********************************************************************** 56 * DllMain [Internal] Initializes the internal 'RICHED32.DLL'. 36 57 * 37 58 * PARAMS 38 * hinstDLL [I] handle to the 'dlls'instance59 * hinstDLL [I] handle to the DLL's instance 39 60 * fdwReason [I] 40 * lpvReserved [I] reserve rd, must be NULL61 * lpvReserved [I] reserved, must be NULL 41 62 * 42 63 * RETURNS … … 45 66 */ 46 67 47 BOOL WINAPI 48 RICHED32_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 68 #ifdef __WIN32OS2__ 69 BOOL WINAPI RICHED32_LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 70 #else 71 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 72 #endif 49 73 { 50 51 switch (fdwReason) { 52 case DLL_PROCESS_ATTACH: 53 54 if (RICHED32_dwProcessesAttached == 0) { 55 56 /* This will be wrong for any other process attching in this address-space! */ 57 RICHED32_hModule = (HMODULE)hinstDLL; 58 59 /* create private heap */ 60 RICHED32_hHeap = HeapCreate (0, 0x10000, 0); 61 62 } 63 64 /* register the Rich Edit class */ 65 RICHED32_Register (); 66 67 RICHED32_dwProcessesAttached++; 68 break; 69 70 case DLL_PROCESS_DETACH: 71 RICHED32_dwProcessesAttached--; 72 73 /* unregister all common control classes */ 74 RICHED32_Unregister (); 75 76 if (RICHED32_dwProcessesAttached == 0) { 77 HeapDestroy (RICHED32_hHeap); 78 RICHED32_hHeap = (HANDLE)NULL; 79 } 80 break; 74 TRACE("\n"); 75 switch (fdwReason) 76 { 77 case DLL_PROCESS_ATTACH: 78 /* create private heap */ 79 RICHED32_hHeap = HeapCreate (0, 0x10000, 0); 80 /* register the Rich Edit class */ 81 RICHED32_Register (); 82 break; 83 84 case DLL_PROCESS_DETACH: 85 /* unregister all common control classes */ 86 RICHED32_Unregister (); 87 HeapDestroy (RICHED32_hHeap); 88 RICHED32_hHeap = (HANDLE)NULL; 89 break; 81 90 } 82 83 91 return TRUE; 84 92 } 93 94 /* Support routines for window procedure */ 95 INT RICHEDIT_GetTextRange(HWND hwnd,TEXTRANGEA *tr); 96 INT RICHEDIT_GetSelText(HWND hwnd,LPSTR lpstrBuffer); 97 85 98 86 99 /* … … 98 111 99 112 static HWND hwndEdit; 113 static HWND hwndParent; 100 114 static char* rtfBuffer; 101 115 int rtfBufferSize; 102 116 117 CHARRANGE *cr; 118 TRACE("previous hwndEdit: %p hwndParent %p\n",hwndEdit,hwndParent); 119 hwndEdit = GetWindow(hwnd,GW_CHILD); 120 TRACE("uMsg: 0x%x hwnd: %p hwndEdit: %p\n",uMsg,hwnd,hwndEdit); 121 103 122 switch (uMsg) 104 123 { 105 124 106 125 case WM_CREATE : 126 DPRINTF_EDIT_MSG32("WM_CREATE"); 107 127 108 128 /* remove SCROLLBARS from the current window style */ 129 hwndParent = ((LPCREATESTRUCTA) lParam)->hwndParent; 130 109 131 newstyle = style = ((LPCREATESTRUCTA) lParam)->style; 110 132 newstyle &= ~WS_HSCROLL; … … 113 135 newstyle &= ~ES_AUTOVSCROLL; 114 136 115 #ifdef __WIN32OS2__ 116 style |= WS_CHILD; 117 #endif 137 TRACE("previous hwndEdit: %p\n",hwndEdit); 118 138 hwndEdit = CreateWindowA ("edit", ((LPCREATESTRUCTA) lParam)->lpszName, 119 139 style, 0, 0, 0, 0, 120 140 hwnd, (HMENU) ID_EDIT, 121 141 ((LPCREATESTRUCTA) lParam)->hInstance, NULL) ; 142 TRACE("hwndEdit: %p hwnd: %p\n",hwndEdit,hwnd); 122 143 123 144 SetWindowLongA(hwnd,GWL_STYLE, newstyle); … … 125 146 126 147 case WM_SETFOCUS : 148 DPRINTF_EDIT_MSG32("WM_SETFOCUS"); 127 149 SetFocus (hwndEdit) ; 128 150 return 0 ; 129 151 130 152 case WM_SIZE : 153 DPRINTF_EDIT_MSG32("WM_SIZE"); 131 154 MoveWindow (hwndEdit, 0, 0, LOWORD (lParam), HIWORD (lParam), TRUE) ; 132 155 return 0 ; 133 156 134 157 case WM_COMMAND : 135 if (LOWORD (wParam) == ID_EDIT) 136 if (HIWORD (wParam) == EN_ERRSPACE || 137 HIWORD (wParam) == EN_MAXTEXT) 138 139 MessageBoxA (hwnd, "RichEdit control out of space.", 158 DPRINTF_EDIT_MSG32("WM_COMMAND"); 159 switch(HIWORD(wParam)) { 160 case EN_CHANGE: 161 case EN_HSCROLL: 162 case EN_KILLFOCUS: 163 case EN_SETFOCUS: 164 case EN_UPDATE: 165 case EN_VSCROLL: 166 return SendMessageA(hwndParent, WM_COMMAND, 167 wParam, (LPARAM)(hwnd)); 168 169 case EN_ERRSPACE: 170 case EN_MAXTEXT: 171 MessageBoxA (hwnd, "RichEdit control out of space.", 140 172 "ERROR", MB_OK | MB_ICONSTOP) ; 141 return 0 ; 142 143 #ifdef __WIN32OS2__ 144 case WM_SETTEXT: 145 return SetWindowTextA(hwndEdit, lParam); 146 #endif 173 return 0 ; 174 } 147 175 148 176 case EM_STREAMIN: 177 DPRINTF_EDIT_MSG32("EM_STREAMIN"); 149 178 150 179 /* setup the RTF parser */ 151 180 RTFSetEditStream(( EDITSTREAM*)lParam); 181 rtfFormat = wParam&(SF_TEXT|SF_RTF); 152 182 WriterInit(); 153 183 RTFInit (); … … 169 199 170 200 return 0; 201 202 /* Messages specific to Richedit controls */ 203 204 case EM_AUTOURLDETECT: 205 DPRINTF_EDIT_MSG32("EM_AUTOURLDETECT Ignored"); 206 return 0; 207 208 case EM_CANPASTE: 209 DPRINTF_EDIT_MSG32("EM_CANPASTE Ignored"); 210 return 0; 211 212 case EM_CANREDO: 213 DPRINTF_EDIT_MSG32("EM_CANREDO Ignored"); 214 return 0; 215 216 case EM_DISPLAYBAND: 217 DPRINTF_EDIT_MSG32("EM_DISPLAYBAND Ignored"); 218 return 0; 219 220 case EM_EXGETSEL: 221 DPRINTF_EDIT_MSG32("EM_EXGETSEL -> EM_GETSEL"); 222 cr = (VOID *) lParam; 223 if (hwndEdit) SendMessageA( hwndEdit, EM_GETSEL, (INT)&cr->cpMin, (INT)&cr->cpMax); 224 TRACE("cpMin: 0x%x cpMax: 0x%x\n",(INT)cr->cpMin,(INT)cr->cpMax); 225 return 0; 226 227 case EM_EXLIMITTEXT: 228 { 229 DWORD limit = lParam; 230 DPRINTF_EDIT_MSG32("EM_EXLIMITTEXT"); 231 if (limit > 65534) 232 { 233 limit = 0xFFFFFFFF; 234 } 235 return SendMessageA(hwndEdit,EM_SETLIMITTEXT,limit,0); 236 } 237 238 case EM_EXLINEFROMCHAR: 239 DPRINTF_EDIT_MSG32("EM_EXLINEFROMCHAR -> LINEFROMCHAR"); 240 if (hwndEdit) return SendMessageA( hwndEdit, EM_LINEFROMCHAR, lParam, wParam); 241 return 0; 242 243 case EM_EXSETSEL: 244 DPRINTF_EDIT_MSG32("EM_EXSETSEL -> EM_SETSEL"); 245 cr = (VOID *) lParam; 246 if (hwndEdit) SendMessageA( hwndEdit, EM_SETSEL, cr->cpMin, cr->cpMax); 247 return 0; 248 249 case EM_FINDTEXT: 250 DPRINTF_EDIT_MSG32("EM_FINDTEXT Ignored"); 251 return 0; 252 253 case EM_FINDTEXTEX: 254 DPRINTF_EDIT_MSG32("EM_FINDTEXTEX Ignored"); 255 return 0; 256 257 case EM_FINDTEXTEXW: 258 DPRINTF_EDIT_MSG32("EM_FINDTEXTEXW Ignored"); 259 return 0; 260 261 case EM_FINDTEXTW: 262 DPRINTF_EDIT_MSG32("EM_FINDTEXTW Ignored"); 263 return 0; 264 265 case EM_FINDWORDBREAK: 266 DPRINTF_EDIT_MSG32("EM_FINDWORDBREAK Ignored"); 267 return 0; 268 269 case EM_FORMATRANGE: 270 DPRINTF_EDIT_MSG32("EM_FORMATRANGE Ignored"); 271 return 0; 272 273 case EM_GETAUTOURLDETECT: 274 DPRINTF_EDIT_MSG32("EM_GETAUTOURLDETECT Ignored"); 275 return 0; 276 277 case EM_GETBIDIOPTIONS: 278 DPRINTF_EDIT_MSG32("EM_GETBIDIOPTIONS Ignored"); 279 return 0; 280 281 case EM_GETCHARFORMAT: 282 DPRINTF_EDIT_MSG32("EM_GETCHARFORMAT Ignored"); 283 return 0; 284 285 case EM_GETEDITSTYLE: 286 DPRINTF_EDIT_MSG32("EM_GETEDITSTYLE Ignored"); 287 return 0; 288 289 case EM_GETEVENTMASK: 290 DPRINTF_EDIT_MSG32("EM_GETEVENTMASK Ignored"); 291 return 0; 292 293 case EM_GETIMECOLOR: 294 DPRINTF_EDIT_MSG32("EM_GETIMECOLOR Ignored"); 295 return 0; 296 297 case EM_GETIMECOMPMODE: 298 DPRINTF_EDIT_MSG32("EM_GETIMECOMPMODE Ignored"); 299 return 0; 300 301 case EM_GETIMEOPTIONS: 302 DPRINTF_EDIT_MSG32("EM_GETIMEOPTIONS Ignored"); 303 return 0; 304 305 case EM_GETLANGOPTIONS: 306 DPRINTF_EDIT_MSG32("STUB: EM_GETLANGOPTIONS"); 307 return 0; 308 309 case EM_GETOLEINTERFACE: 310 DPRINTF_EDIT_MSG32("EM_GETOLEINTERFACE Ignored"); 311 return 0; 312 313 case EM_GETOPTIONS: 314 DPRINTF_EDIT_MSG32("EM_GETOPTIONS Ignored"); 315 return 0; 316 317 case EM_GETPARAFORMAT: 318 DPRINTF_EDIT_MSG32("EM_GETPARAFORMAT Ignored"); 319 return 0; 320 321 case EM_GETPUNCTUATION: 322 DPRINTF_EDIT_MSG32("EM_GETPUNCTUATION Ignored"); 323 return 0; 324 325 case EM_GETREDONAME: 326 DPRINTF_EDIT_MSG32("EM_GETREDONAME Ignored"); 327 return 0; 328 329 case EM_GETSCROLLPOS: 330 DPRINTF_EDIT_MSG32("EM_GETSCROLLPOS Ignored"); 331 return 0; 332 333 case EM_GETSELTEXT: 334 DPRINTF_EDIT_MSG32("EM_GETSELTEXT"); 335 return RICHEDIT_GetSelText(hwndEdit,(void *)lParam); 336 337 case EM_GETTEXTEX: 338 DPRINTF_EDIT_MSG32("EM_GETTEXTEX Ignored"); 339 return 0; 340 341 case EM_GETTEXTLENGTHEX: 342 DPRINTF_EDIT_MSG32("EM_GETTEXTLENGTHEX Ignored"); 343 return 0; 344 345 case EM_GETTEXTMODE: 346 DPRINTF_EDIT_MSG32("EM_GETTEXTMODE Ignored"); 347 return 0; 348 349 case EM_GETTEXTRANGE: 350 DPRINTF_EDIT_MSG32("EM_GETTEXTRANGE"); 351 return RICHEDIT_GetTextRange(hwndEdit,(TEXTRANGEA *)lParam); 352 353 case EM_GETTYPOGRAPHYOPTIONS: 354 DPRINTF_EDIT_MSG32("EM_GETTYPOGRAPHYOPTIONS Ignored"); 355 return 0; 356 357 case EM_GETUNDONAME: 358 DPRINTF_EDIT_MSG32("EM_GETUNDONAME Ignored"); 359 return 0; 360 361 case EM_GETWORDBREAKPROCEX: 362 DPRINTF_EDIT_MSG32("EM_GETWORDBREAKPROCEX Ignored"); 363 return 0; 364 365 case EM_GETWORDWRAPMODE: 366 DPRINTF_EDIT_MSG32("EM_GETWORDWRAPMODE Ignored"); 367 return 0; 368 369 case EM_GETZOOM: 370 DPRINTF_EDIT_MSG32("EM_GETZOOM Ignored"); 371 return 0; 372 373 case EM_HIDESELECTION: 374 DPRINTF_EDIT_MSG32("EM_HIDESELECTION Ignored"); 375 return 0; 376 377 case EM_PASTESPECIAL: 378 DPRINTF_EDIT_MSG32("EM_PASTESPECIAL Ignored"); 379 return 0; 380 381 case EM_RECONVERSION: 382 DPRINTF_EDIT_MSG32("EM_RECONVERSION Ignored"); 383 return 0; 384 385 case EM_REDO: 386 DPRINTF_EDIT_MSG32("EM_REDO Ignored"); 387 return 0; 388 389 case EM_REQUESTRESIZE: 390 DPRINTF_EDIT_MSG32("EM_REQUESTRESIZE Ignored"); 391 return 0; 392 393 case EM_SELECTIONTYPE: 394 DPRINTF_EDIT_MSG32("EM_SELECTIONTYPE Ignored"); 395 return 0; 396 397 case EM_SETBIDIOPTIONS: 398 DPRINTF_EDIT_MSG32("EM_SETBIDIOPTIONS Ignored"); 399 return 0; 400 401 case EM_SETBKGNDCOLOR: 402 DPRINTF_EDIT_MSG32("EM_SETBKGNDCOLOR Ignored"); 403 return 0; 404 405 case EM_SETCHARFORMAT: 406 DPRINTF_EDIT_MSG32("EM_SETCHARFORMAT Ignored"); 407 return 0; 408 409 case EM_SETEDITSTYLE: 410 DPRINTF_EDIT_MSG32("EM_SETEDITSTYLE Ignored"); 411 return 0; 412 413 case EM_SETEVENTMASK: 414 DPRINTF_EDIT_MSG32("EM_SETEVENTMASK Ignored"); 415 return 0; 416 417 case EM_SETFONTSIZE: 418 DPRINTF_EDIT_MSG32("EM_SETFONTSIZE Ignored"); 419 return 0; 420 421 case EM_SETIMECOLOR: 422 DPRINTF_EDIT_MSG32("EM_SETIMECOLO Ignored"); 423 return 0; 424 425 case EM_SETIMEOPTIONS: 426 DPRINTF_EDIT_MSG32("EM_SETIMEOPTIONS Ignored"); 427 return 0; 428 429 case EM_SETLANGOPTIONS: 430 DPRINTF_EDIT_MSG32("EM_SETLANGOPTIONS Ignored"); 431 return 0; 432 433 case EM_SETOLECALLBACK: 434 DPRINTF_EDIT_MSG32("EM_SETOLECALLBACK Ignored"); 435 return 0; 436 437 case EM_SETOPTIONS: 438 DPRINTF_EDIT_MSG32("EM_SETOPTIONS Ignored"); 439 return 0; 440 441 case EM_SETPALETTE: 442 DPRINTF_EDIT_MSG32("EM_SETPALETTE Ignored"); 443 return 0; 444 445 case EM_SETPARAFORMAT: 446 DPRINTF_EDIT_MSG32("EM_SETPARAFORMAT Ignored"); 447 return 0; 448 449 case EM_SETPUNCTUATION: 450 DPRINTF_EDIT_MSG32("EM_SETPUNCTUATION Ignored"); 451 return 0; 452 453 case EM_SETSCROLLPOS: 454 DPRINTF_EDIT_MSG32("EM_SETSCROLLPOS Ignored"); 455 return 0; 456 457 case EM_SETTARGETDEVICE: 458 DPRINTF_EDIT_MSG32("EM_SETTARGETDEVICE Ignored"); 459 return 0; 460 461 case EM_SETTEXTEX: 462 DPRINTF_EDIT_MSG32("EM_SETTEXTEX Ignored"); 463 return 0; 464 465 case EM_SETTEXTMODE: 466 DPRINTF_EDIT_MSG32("EM_SETTEXTMODE Ignored"); 467 return 0; 468 469 case EM_SETTYPOGRAPHYOPTIONS: 470 DPRINTF_EDIT_MSG32("EM_SETTYPOGRAPHYOPTIONS Ignored"); 471 return 0; 472 473 case EM_SETUNDOLIMIT: 474 DPRINTF_EDIT_MSG32("EM_SETUNDOLIMIT Ignored"); 475 return 0; 476 477 case EM_SETWORDBREAKPROCEX: 478 DPRINTF_EDIT_MSG32("EM_SETWORDBREAKPROCEX Ignored"); 479 return 0; 480 481 case EM_SETWORDWRAPMODE: 482 DPRINTF_EDIT_MSG32("EM_SETWORDWRAPMODE Ignored"); 483 return 0; 484 485 case EM_SETZOOM: 486 DPRINTF_EDIT_MSG32("EM_SETZOOM Ignored"); 487 return 0; 488 489 case EM_SHOWSCROLLBAR: 490 DPRINTF_EDIT_MSG32("EM_SHOWSCROLLBAR Ignored"); 491 return 0; 492 493 case EM_STOPGROUPTYPING: 494 DPRINTF_EDIT_MSG32("EM_STOPGROUPTYPING Ignored"); 495 return 0; 496 497 case EM_STREAMOUT: 498 DPRINTF_EDIT_MSG32("EM_STREAMOUT Ignored"); 499 return 0; 500 501 /* Messages dispatched to the edit control */ 502 case EM_CANUNDO: 503 DPRINTF_EDIT_MSG32("EM_CANUNDO Passed to edit control"); 504 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 505 case EM_CHARFROMPOS: 506 DPRINTF_EDIT_MSG32("EM_CHARFROMPOS Passed to edit control"); 507 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 508 case EM_EMPTYUNDOBUFFER: 509 DPRINTF_EDIT_MSG32("EM_EMPTYUNDOBUFFER Passed to edit control"); 510 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 511 case EM_FMTLINES: 512 DPRINTF_EDIT_MSG32("EM_FMTLINES Passed to edit control"); 513 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 514 case EM_GETFIRSTVISIBLELINE: 515 DPRINTF_EDIT_MSG32("EM_GETFIRSTVISIBLELINE Passed to edit control"); 516 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 517 case EM_GETHANDLE: 518 DPRINTF_EDIT_MSG32("EM_GETHANDLE Passed to edit control"); 519 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 520 /* case EM_GETIMESTATUS:*/ 521 case EM_GETLIMITTEXT: 522 DPRINTF_EDIT_MSG32("EM_GETLIMITTEXT Passed to edit control"); 523 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 524 case EM_GETLINE: 525 DPRINTF_EDIT_MSG32("EM_GETLINE Passed to edit control"); 526 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 527 case EM_GETLINECOUNT: 528 DPRINTF_EDIT_MSG32("EM_GETLINECOUNT Passed to edit control"); 529 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 530 case EM_GETMARGINS: 531 DPRINTF_EDIT_MSG32("EM_GETMARGINS Passed to edit control"); 532 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 533 case EM_GETMODIFY: 534 DPRINTF_EDIT_MSG32("EM_GETMODIFY Passed to edit control"); 535 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 536 case EM_GETPASSWORDCHAR: 537 DPRINTF_EDIT_MSG32("EM_GETPASSWORDCHAR Passed to edit control"); 538 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 539 case EM_GETRECT: 540 DPRINTF_EDIT_MSG32("EM_GETRECT Passed to edit control"); 541 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 542 case EM_GETSEL: 543 DPRINTF_EDIT_MSG32("EM_GETSEL Passed to edit control"); 544 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 545 case EM_GETTHUMB: 546 DPRINTF_EDIT_MSG32("EM_GETTHUMB Passed to edit control"); 547 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 548 case EM_GETWORDBREAKPROC: 549 DPRINTF_EDIT_MSG32("EM_GETWORDBREAKPROC Passed to edit control"); 550 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 551 case EM_LINEFROMCHAR: 552 DPRINTF_EDIT_MSG32("EM_LINEFROMCHAR Passed to edit control"); 553 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 554 case EM_LINEINDEX: 555 DPRINTF_EDIT_MSG32("EM_LINEINDEX Passed to edit control"); 556 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 557 case EM_LINELENGTH: 558 DPRINTF_EDIT_MSG32("EM_LINELENGTH Passed to edit control"); 559 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 560 case EM_LINESCROLL: 561 DPRINTF_EDIT_MSG32("EM_LINESCROLL Passed to edit control"); 562 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 563 case EM_POSFROMCHAR: 564 DPRINTF_EDIT_MSG32("EM_POSFROMCHAR Passed to edit control"); 565 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 566 case EM_REPLACESEL: 567 DPRINTF_EDIT_MSG32("case EM_REPLACESEL Passed to edit control"); 568 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 569 case EM_SCROLL: 570 DPRINTF_EDIT_MSG32("case EM_SCROLL Passed to edit control"); 571 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 572 case EM_SCROLLCARET: 573 DPRINTF_EDIT_MSG32("EM_SCROLLCARET Passed to edit control"); 574 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 575 case EM_SETHANDLE: 576 DPRINTF_EDIT_MSG32("EM_SETHANDLE Passed to edit control"); 577 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 578 /* case EM_SETIMESTATUS:*/ 579 case EM_SETLIMITTEXT: 580 DPRINTF_EDIT_MSG32("EM_SETLIMITTEXT Passed to edit control"); 581 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 582 case EM_SETMARGINS: 583 DPRINTF_EDIT_MSG32("case EM_SETMARGINS Passed to edit control"); 584 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 585 case EM_SETMODIFY: 586 DPRINTF_EDIT_MSG32("EM_SETMODIFY Passed to edit control"); 587 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 588 case EM_SETPASSWORDCHAR: 589 DPRINTF_EDIT_MSG32("EM_SETPASSWORDCHAR Passed to edit control"); 590 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 591 case EM_SETREADONLY: 592 DPRINTF_EDIT_MSG32("EM_SETREADONLY Passed to edit control"); 593 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 594 case EM_SETRECT: 595 DPRINTF_EDIT_MSG32("EM_SETRECT Passed to edit control"); 596 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 597 case EM_SETRECTNP: 598 DPRINTF_EDIT_MSG32("EM_SETRECTNP Passed to edit control"); 599 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 600 case EM_SETSEL: 601 DPRINTF_EDIT_MSG32("EM_SETSEL Passed to edit control"); 602 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 603 case EM_SETTABSTOPS: 604 DPRINTF_EDIT_MSG32("EM_SETTABSTOPS Passed to edit control"); 605 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 606 case EM_SETWORDBREAKPROC: 607 DPRINTF_EDIT_MSG32("EM_SETWORDBREAKPROC Passed to edit control"); 608 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 609 case EM_UNDO: 610 DPRINTF_EDIT_MSG32("EM_UNDO Passed to edit control"); 611 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 612 613 case WM_STYLECHANGING: 614 DPRINTF_EDIT_MSG32("WM_STYLECHANGING Passed to edit control"); 615 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 616 case WM_STYLECHANGED: 617 DPRINTF_EDIT_MSG32("WM_STYLECHANGED Passed to edit control"); 618 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 619 case WM_NCCALCSIZE: 620 DPRINTF_EDIT_MSG32("WM_NCCALCSIZE Passed to edit control"); 621 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 622 case WM_GETTEXT: 623 DPRINTF_EDIT_MSG32("WM_GETTEXT Passed to edit control"); 624 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 625 case WM_GETTEXTLENGTH: 626 DPRINTF_EDIT_MSG32("WM_GETTEXTLENGTH Passed to edit control"); 627 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 628 case WM_SETTEXT: 629 DPRINTF_EDIT_MSG32("WM_SETTEXT Passed to edit control"); 630 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 631 case WM_CUT: 632 DPRINTF_EDIT_MSG32("WM_CUT Passed to edit control"); 633 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 634 case WM_COPY: 635 DPRINTF_EDIT_MSG32("WM_COPY Passed to edit control"); 636 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 637 case WM_PASTE: 638 DPRINTF_EDIT_MSG32("WM_PASTE Passed to edit control"); 639 return SendMessageA( hwndEdit, uMsg, wParam, lParam); 640 641 /* Messages passed to default handler. */ 642 case WM_NCPAINT: 643 DPRINTF_EDIT_MSG32("WM_NCPAINT Passed to default"); 644 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 645 case WM_PAINT: 646 DPRINTF_EDIT_MSG32("WM_PAINT Passed to default"); 647 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 648 case WM_ERASEBKGND: 649 DPRINTF_EDIT_MSG32("WM_ERASEBKGND Passed to default"); 650 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 651 case WM_KILLFOCUS: 652 DPRINTF_EDIT_MSG32("WM_KILLFOCUS Passed to default"); 653 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 654 case WM_DESTROY: 655 DPRINTF_EDIT_MSG32("WM_DESTROY Passed to default"); 656 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 657 case WM_CHILDACTIVATE: 658 DPRINTF_EDIT_MSG32("WM_CHILDACTIVATE Passed to default"); 659 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 660 661 case WM_WINDOWPOSCHANGING: 662 DPRINTF_EDIT_MSG32("WM_WINDOWPOSCHANGING Passed to default"); 663 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 664 case WM_WINDOWPOSCHANGED: 665 DPRINTF_EDIT_MSG32("WM_WINDOWPOSCHANGED Passed to default"); 666 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 667 /* case WM_INITIALUPDATE: 668 DPRINTF_EDIT_MSG32("WM_INITIALUPDATE Passed to default"); 669 return DefWindowProcA( hwnd,uMsg,wParam,lParam); */ 670 case WM_CTLCOLOREDIT: 671 DPRINTF_EDIT_MSG32("WM_CTLCOLOREDIT Passed to default"); 672 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 673 case WM_SETCURSOR: 674 DPRINTF_EDIT_MSG32("WM_SETCURSOR Passed to default"); 675 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 676 case WM_MOVE: 677 DPRINTF_EDIT_MSG32("WM_MOVE Passed to default"); 678 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 679 case WM_SHOWWINDOW: 680 DPRINTF_EDIT_MSG32("WM_SHOWWINDOW Passed to default"); 681 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 682 case WM_NCCREATE: 683 DPRINTF_EDIT_MSG32("WM_NCCREATE Passed to default"); 684 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 685 case WM_PARENTNOTIFY: 686 DPRINTF_EDIT_MSG32("WM_PARENTNOTIFY Passed to default"); 687 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 688 case WM_SETREDRAW: 689 DPRINTF_EDIT_MSG32("WM_SETREDRAW Passed to default"); 690 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 691 case WM_NCDESTROY: 692 DPRINTF_EDIT_MSG32("WM_NCDESTROY Passed to default"); 693 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 694 case WM_NCHITTEST: 695 DPRINTF_EDIT_MSG32("WM_NCHITTEST Passed to default"); 696 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 697 case WM_CTLCOLORSTATIC: 698 DPRINTF_EDIT_MSG32("WM_CTLCOLORSTATIC Passed to default"); 699 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 700 case WM_NCMOUSEMOVE: 701 DPRINTF_EDIT_MSG32("WM_NCMOUSEMOVE Passed to default"); 702 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 703 case WM_CLEAR: 704 DPRINTF_EDIT_MSG32("WM_CLEAR Passed to default"); 705 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 706 /* 707 * used by IE in the EULA box 708 */ 709 case WM_ALTTABACTIVE: 710 DPRINTF_EDIT_MSG32("WM_ALTTABACTIVE"); 711 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 712 case WM_GETDLGCODE: 713 DPRINTF_EDIT_MSG32("WM_GETDLGCODE"); 714 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 715 case WM_SETFONT: 716 DPRINTF_EDIT_MSG32("WM_SETFONT"); 717 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 718 171 719 } 172 /*return SendMessageA( hwndEdit,uMsg,wParam,lParam);*/ 173 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 720 721 FIXME("Unknown message 0x%x Passed to default hwnd=%p, wParam=%08x, lParam=%08x\n", 722 uMsg, hwnd, (UINT)wParam, (UINT)lParam); 723 724 return DefWindowProcA( hwnd,uMsg,wParam,lParam); 174 725 } 175 726 176 /* 177 * DllGetVersion [ COMCTL32.25]178 * 179 * Retrieves version information of the ' COMCTL32.DLL'727 /*********************************************************************** 728 * DllGetVersion [RICHED32.2] 729 * 730 * Retrieves version information of the 'RICHED32.DLL' 180 731 * 181 732 * PARAMS … … 193 744 RICHED32_DllGetVersion (DLLVERSIONINFO *pdvi) 194 745 { 746 TRACE("\n"); 747 195 748 if (pdvi->cbSize != sizeof(DLLVERSIONINFO)) { 196 749 … … 219 772 { 220 773 WNDCLASSA wndClass; 774 775 TRACE("\n"); 221 776 222 777 ZeroMemory(&wndClass, sizeof(WNDCLASSA)); … … 227 782 wndClass.hCursor = LoadCursorA(0, IDC_ARROWA); 228 783 wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); 229 wndClass.lpszClassName = RICHEDIT_CLASS10A; //WC_RICHED32A;784 wndClass.lpszClassName = RICHEDIT_CLASS10A; /* WC_RICHED32A; */ 230 785 231 786 RegisterClassA (&wndClass); … … 244 799 VOID RICHED32_Unregister(void) 245 800 { 801 TRACE("\n"); 802 246 803 UnregisterClassA(RICHEDIT_CLASS10A, (HINSTANCE)NULL); 247 804 } 805 806 INT RICHEDIT_GetTextRange(HWND hwnd,TEXTRANGEA *tr) 807 { 808 UINT alloc_size, text_size, range_size; 809 char *text; 810 811 TRACE("start: 0x%x stop: 0x%x\n",(INT)tr->chrg.cpMin,(INT)tr->chrg.cpMax); 812 813 if (!(alloc_size = SendMessageA(hwnd,WM_GETTEXTLENGTH,0,0))) return FALSE; 814 if (!(text = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (alloc_size+1)))) 815 return FALSE; 816 text_size = SendMessageA(hwnd,WM_GETTEXT,alloc_size,(INT)text); 817 818 if (text_size > tr->chrg.cpMin) 819 { 820 range_size = (text_size> tr->chrg.cpMax) ? (tr->chrg.cpMax - tr->chrg.cpMin) : (text_size - tr->chrg.cpMin); 821 TRACE("EditText: %.30s ...\n",text+tr->chrg.cpMin); 822 memcpy(tr->lpstrText,text+tr->chrg.cpMin,range_size); 823 } 824 else range_size = 0; 825 HeapFree(GetProcessHeap(), 0, text); 826 827 return range_size; 828 } 829 830 INT RICHEDIT_GetSelText(HWND hwnd,LPSTR lpstrBuffer) 831 { 832 TEXTRANGEA textrange; 833 834 textrange.lpstrText = lpstrBuffer; 835 SendMessageA(hwnd,EM_GETSEL,(INT)&textrange.chrg.cpMin,(INT)&textrange.chrg.cpMax); 836 return RICHEDIT_GetTextRange(hwnd,&textrange); 837 } -
trunk/src/riched32/rtf.h
r3515 r9407 3 3 4 4 #include <stdio.h> 5 #include <windows.h> 6 #include <richedit.h> 5 6 #include "windef.h" 7 #include "winbase.h" 8 #include "wingdi.h" 9 #include "winuser.h" 10 #include "richedit.h" 11 7 12 void RTFSetEditStream(EDITSTREAM *es); 8 13 … … 428 433 extern int rtfMinor; /* token minor number */ 429 434 extern int rtfParam; /* control symbol parameter */ 435 extern int rtfFormat; /* either SF_RTF or SF_TEXT */ 430 436 431 437 # ifdef THINK_C … … 1421 1427 char *RTFStrSave (); 1422 1428 void RTFFree (); 1423 int RTFCharToHex ( );1429 int RTFCharToHex (char); 1424 1430 int RTFHexToChar (); 1425 1431 void RTFSetMsgProc (); -
trunk/src/riched32/stdcharnames.h
r3515 r9407 1 static char *stdCharName[] = 2 { 1 3 "nothing", 2 4 "space", … … 351 353 "mathequal", 352 354 "mathtilde", 355 (char *) NULL 356 }; -
trunk/src/riched32/text-writer.c
r3922 r9407 1 /* $Id: text-writer.c,v 1.2 2000-08-02 14:58:40 bird Exp $ */2 1 /* 3 2 * text-writer -- RTF-to-text translation writer code. … … 38 37 */ 39 38 40 # include <stdio.h> 41 42 # include "rtf.h" 43 # include "rtf2text.h" 44 # include "charlist.h" 39 #include <stdio.h> 40 41 #include "rtf.h" 42 #include "rtf2text.h" 43 #include "charlist.h" 44 #include "wine/debug.h" 45 46 WINE_DEFAULT_DEBUG_CHANNEL(richedit); 45 47 46 48 static void TextClass (); … … 63 65 /* we require one more for the '\0' */ 64 66 67 TRACE("\n"); 65 68 66 69 if(nBufferSize < charlist.nCount + 1) { … … 121 124 char buf[rtfBufSiz]; 122 125 123 if (rtfMinor != rtfSC_nothing) 126 TRACE("\n"); 127 128 if (rtfFormat == SF_TEXT) 129 PutLitChar (rtfMajor); 130 else if (rtfMinor != rtfSC_nothing) 124 131 PutStdChar (rtfMinor); 125 132 else … … 137 144 ControlClass () 138 145 { 146 TRACE("\n"); 139 147 switch (rtfMajor) 140 148 { … … 158 166 Destination () 159 167 { 168 169 TRACE("\n"); 170 160 171 switch (rtfMinor) 161 172 { … … 187 198 void SpecialChar () 188 199 { 200 201 TRACE("\n"); 202 189 203 switch (rtfMinor) 190 204 { … … 251 265 RTFPanic ("Unknown character code, logic error\n"); 252 266 */ 267 TRACE("\n"); 268 253 269 oStr = outMap[stdCode]; 254 270 if (oStr == (char *) NULL) /* no output sequence in map */ -
trunk/src/riched32/text_map.h
r3515 r9407 1 1 /* 2 2 * Output sequence map for rtf2text 3 * 3 * 4 4 * Field 1 is the standard character name. Field 2 is the output sequence 5 5 * to produce for that character. 6 * 6 * 7 7 * The output sequence is simply a string of characters. If it contains 8 8 * whitespace, it may be quoted. If it contains quotes, it may be quoted 9 9 * with a different quote character. 10 * 10 * 11 11 * characters in ASCII range (32-127 12 12 */
Note:
See TracChangeset
for help on using the changeset viewer.