fribidi-flags.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* FriBidi
  2. * fribidi-flags.h - option flags
  3. *
  4. * Author:
  5. * Behdad Esfahbod, 2005
  6. *
  7. * Copyright (C) 2005 Behdad Esfahbod
  8. *
  9. * This library is free software; you can redistribute it and/or
  10. * modify it under the terms of the GNU Lesser General Public
  11. * License as published by the Free Software Foundation; either
  12. * version 2.1 of the License, or (at your option) any later version.
  13. *
  14. * This library is distributed in the hope that it will be useful,
  15. * but 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.
  18. *
  19. * You should have received a copy of the GNU Lesser General Public License
  20. * along with this library, in a file named COPYING; if not, write to the
  21. * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  22. * Boston, MA 02110-1301, USA
  23. *
  24. * For licensing issues, contact <fribidi.license@gmail.com>.
  25. */
  26. #ifndef _FRIBIDI_FLAGS_H
  27. #define _FRIBIDI_FLAGS_H
  28. #include "fribidi-common.h"
  29. #include "fribidi-types.h"
  30. #include "fribidi-begindecls.h"
  31. typedef uint32_t FriBidiFlags;
  32. /*
  33. * Define option flags that various functions use. Each mask has
  34. * only one bit set.
  35. */
  36. #define FRIBIDI_FLAG_SHAPE_MIRRORING 0x00000001
  37. #define FRIBIDI_FLAG_REORDER_NSM 0x00000002
  38. #define FRIBIDI_FLAG_SHAPE_ARAB_PRES 0x00000100
  39. #define FRIBIDI_FLAG_SHAPE_ARAB_LIGA 0x00000200
  40. #define FRIBIDI_FLAG_SHAPE_ARAB_CONSOLE 0x00000400
  41. #define FRIBIDI_FLAG_REMOVE_BIDI 0x00010000
  42. #define FRIBIDI_FLAG_REMOVE_JOINING 0x00020000
  43. #define FRIBIDI_FLAG_REMOVE_SPECIALS 0x00040000
  44. /*
  45. * And their combinations.
  46. */
  47. #define FRIBIDI_FLAGS_DEFAULT ( \
  48. FRIBIDI_FLAG_SHAPE_MIRRORING | \
  49. FRIBIDI_FLAG_REORDER_NSM | \
  50. FRIBIDI_FLAG_REMOVE_SPECIALS )
  51. #define FRIBIDI_FLAGS_ARABIC ( \
  52. FRIBIDI_FLAG_SHAPE_ARAB_PRES | \
  53. FRIBIDI_FLAG_SHAPE_ARAB_LIGA )
  54. #include "fribidi-enddecls.h"
  55. #endif /* !_FRIBIDI_FLAGS_H */
  56. /* Editor directions:
  57. * vim:textwidth=78:tabstop=8:shiftwidth=2:autoindent:cindent
  58. */