2000-11-28 20:56:52 +00:00
|
|
|
/*
|
|
|
|
* %W% %E%
|
|
|
|
*
|
|
|
|
* (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "LETypes.h"
|
|
|
|
#include "OpenTypeTables.h"
|
|
|
|
#include "HebrewShaping.h"
|
|
|
|
|
2001-10-16 00:39:01 +00:00
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
|
2000-11-28 20:56:52 +00:00
|
|
|
const LETag ligaFeatureTag = 0x6C696761; // 'liga'
|
|
|
|
const LETag emptyTag = 0x00000000; // ''
|
|
|
|
|
|
|
|
const LETag hebrewTags[] =
|
|
|
|
{
|
|
|
|
ligaFeatureTag, emptyTag
|
|
|
|
};
|
|
|
|
|
2003-05-13 00:44:54 +00:00
|
|
|
void HebrewShaping::shape(const LEUnicode * /*chars*/, le_int32 /*offset*/, le_int32 charCount, le_int32 /*charMax*/,
|
2000-11-28 20:56:52 +00:00
|
|
|
le_bool rightToLeft, const LETag **tags)
|
|
|
|
{
|
|
|
|
|
|
|
|
le_int32 count, out = 0, dir = 1;
|
|
|
|
|
|
|
|
if (rightToLeft) {
|
|
|
|
out = charCount - 1;
|
|
|
|
dir = -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (count = 0; count < charCount; count += 1, out += dir) {
|
|
|
|
tags[out] = hebrewTags;
|
|
|
|
}
|
|
|
|
}
|
2001-10-16 00:39:01 +00:00
|
|
|
|
|
|
|
U_NAMESPACE_END
|