1# This file will be copied into //third_party/externals/harfbuzz via the new_local_repository 2# rule in WORKSPACE.bazel, so all files should be relative to that path. 3 4genrule( 5 name = "copy_config_override", 6 srcs = [ 7 "@harfbuzz_config//:config-override.h", 8 ], 9 outs = [ 10 # Putting this in the root of the harfbuzz directory makes it easiest to include. 11 "config-override.h", 12 ], 13 # $< is the one and only input file. 14 # $@ is the one and only output location. 15 cmd = "cp $< $@", 16 cmd_bat = "copy $< $@", 17) 18 19HARFBUZZ_HDRS = [ 20 "src/hb-aat-layout.h", 21 "src/hb-blob.h", 22 "src/hb-buffer.h", 23 "src/hb-common.h", 24 "src/hb-deprecated.h", 25 "src/hb-face.h", 26 "src/hb-font.h", 27 "src/hb-map.h", 28 "src/hb-ot-font.h", 29 "src/hb-ot-layout.h", 30 "src/hb-ot-math.h", 31 "src/hb-ot-metrics.h", 32 "src/hb-ot-shape.h", 33 "src/hb-ot-var.h", 34 "src/hb-ot.h", 35 "src/hb-set.h", 36 "src/hb-shape-plan.h", 37 "src/hb-shape.h", 38 "src/hb-style.h", 39 "src/hb-subset.h", 40 "src/hb-unicode.h", 41 "src/hb-version.h", 42 "src/hb.h", 43] 44 45HARFBUZZ_SRCS = [ 46 "config-override.h", 47 "src/OT/Color/CBDT/CBDT.hh", 48 "src/OT/Color/COLR/COLR.hh", 49 "src/OT/Color/COLR/colrv1-closure.hh", 50 "src/OT/Color/CPAL/CPAL.hh", 51 "src/OT/Color/sbix/sbix.hh", 52 "src/OT/Color/svg/svg.hh", 53 "src/OT/Layout/Common/Coverage.hh", 54 "src/OT/Layout/Common/CoverageFormat1.hh", 55 "src/OT/Layout/Common/CoverageFormat2.hh", 56 "src/OT/Layout/Common/RangeRecord.hh", 57 "src/OT/Layout/GDEF/GDEF.hh", 58 "src/OT/Layout/GPOS/Anchor.hh", 59 "src/OT/Layout/GPOS/AnchorFormat1.hh", 60 "src/OT/Layout/GPOS/AnchorFormat2.hh", 61 "src/OT/Layout/GPOS/AnchorFormat3.hh", 62 "src/OT/Layout/GPOS/AnchorMatrix.hh", 63 "src/OT/Layout/GPOS/ChainContextPos.hh", 64 "src/OT/Layout/GPOS/Common.hh", 65 "src/OT/Layout/GPOS/ContextPos.hh", 66 "src/OT/Layout/GPOS/CursivePos.hh", 67 "src/OT/Layout/GPOS/CursivePosFormat1.hh", 68 "src/OT/Layout/GPOS/ExtensionPos.hh", 69 "src/OT/Layout/GPOS/GPOS.hh", 70 "src/OT/Layout/GPOS/LigatureArray.hh", 71 "src/OT/Layout/GPOS/MarkArray.hh", 72 "src/OT/Layout/GPOS/MarkBasePos.hh", 73 "src/OT/Layout/GPOS/MarkBasePosFormat1.hh", 74 "src/OT/Layout/GPOS/MarkLigPos.hh", 75 "src/OT/Layout/GPOS/MarkLigPosFormat1.hh", 76 "src/OT/Layout/GPOS/MarkMarkPos.hh", 77 "src/OT/Layout/GPOS/MarkMarkPosFormat1.hh", 78 "src/OT/Layout/GPOS/MarkRecord.hh", 79 "src/OT/Layout/GPOS/PairPos.hh", 80 "src/OT/Layout/GPOS/PairPosFormat1.hh", 81 "src/OT/Layout/GPOS/PairPosFormat2.hh", 82 "src/OT/Layout/GPOS/PairSet.hh", 83 "src/OT/Layout/GPOS/PairValueRecord.hh", 84 "src/OT/Layout/GPOS/PosLookup.hh", 85 "src/OT/Layout/GPOS/PosLookupSubTable.hh", 86 "src/OT/Layout/GPOS/SinglePos.hh", 87 "src/OT/Layout/GPOS/SinglePosFormat1.hh", 88 "src/OT/Layout/GPOS/SinglePosFormat2.hh", 89 "src/OT/Layout/GPOS/ValueFormat.hh", 90 "src/OT/Layout/GSUB/AlternateSet.hh", 91 "src/OT/Layout/GSUB/AlternateSubst.hh", 92 "src/OT/Layout/GSUB/AlternateSubstFormat1.hh", 93 "src/OT/Layout/GSUB/ChainContextSubst.hh", 94 "src/OT/Layout/GSUB/Common.hh", 95 "src/OT/Layout/GSUB/ContextSubst.hh", 96 "src/OT/Layout/GSUB/ExtensionSubst.hh", 97 "src/OT/Layout/GSUB/GSUB.hh", 98 "src/OT/Layout/GSUB/Ligature.hh", 99 "src/OT/Layout/GSUB/LigatureSet.hh", 100 "src/OT/Layout/GSUB/LigatureSubst.hh", 101 "src/OT/Layout/GSUB/LigatureSubstFormat1.hh", 102 "src/OT/Layout/GSUB/MultipleSubst.hh", 103 "src/OT/Layout/GSUB/MultipleSubstFormat1.hh", 104 "src/OT/Layout/GSUB/ReverseChainSingleSubst.hh", 105 "src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh", 106 "src/OT/Layout/GSUB/Sequence.hh", 107 "src/OT/Layout/GSUB/SingleSubst.hh", 108 "src/OT/Layout/GSUB/SingleSubstFormat1.hh", 109 "src/OT/Layout/GSUB/SingleSubstFormat2.hh", 110 "src/OT/Layout/GSUB/SubstLookup.hh", 111 "src/OT/Layout/GSUB/SubstLookupSubTable.hh", 112 "src/OT/Layout/types.hh", 113 "src/OT/Var/VARC/VARC.cc", 114 "src/OT/Var/VARC/VARC.hh", 115 "src/OT/Var/VARC/coord-setter.hh", 116 "src/OT/glyf/CompositeGlyph.hh", 117 "src/OT/glyf/Glyph.hh", 118 "src/OT/glyf/GlyphHeader.hh", 119 "src/OT/glyf/SimpleGlyph.hh", 120 "src/OT/glyf/SubsetGlyph.hh", 121 "src/OT/glyf/composite-iter.hh", 122 "src/OT/glyf/glyf-helpers.hh", 123 "src/OT/glyf/glyf.hh", 124 "src/OT/glyf/loca.hh", 125 "src/OT/glyf/path-builder.hh", 126 "src/OT/name/name.hh", 127 "src/graph/classdef-graph.hh", 128 "src/graph/coverage-graph.hh", 129 "src/graph/graph.hh", 130 "src/graph/gsubgpos-context.cc", 131 "src/graph/gsubgpos-context.hh", 132 "src/graph/gsubgpos-graph.hh", 133 "src/graph/markbasepos-graph.hh", 134 "src/graph/pairpos-graph.hh", 135 "src/graph/serialize.hh", 136 "src/graph/split-helpers.hh", 137 "src/hb-aat-layout-ankr-table.hh", 138 "src/hb-aat-layout-bsln-table.hh", 139 "src/hb-aat-layout-common.hh", 140 "src/hb-aat-layout-feat-table.hh", 141 "src/hb-aat-layout-just-table.hh", 142 "src/hb-aat-layout-kerx-table.hh", 143 "src/hb-aat-layout-morx-table.hh", 144 "src/hb-aat-layout-opbd-table.hh", 145 "src/hb-aat-layout-trak-table.hh", 146 "src/hb-aat-layout.cc", 147 "src/hb-aat-layout.hh", 148 "src/hb-aat-ltag-table.hh", 149 "src/hb-aat-map.cc", 150 "src/hb-aat-map.hh", 151 "src/hb-aat.h", 152 "src/hb-algs.hh", 153 "src/hb-array.hh", 154 "src/hb-atomic.hh", 155 "src/hb-bimap.hh", 156 "src/hb-bit-page.hh", 157 "src/hb-bit-set-invertible.hh", 158 "src/hb-bit-set.hh", 159 "src/hb-blob.cc", 160 "src/hb-blob.hh", 161 "src/hb-buffer-deserialize-json.hh", 162 "src/hb-buffer-deserialize-text-glyphs.hh", 163 "src/hb-buffer-deserialize-text-unicode.hh", 164 "src/hb-buffer-serialize.cc", 165 "src/hb-buffer-verify.cc", 166 "src/hb-buffer.cc", 167 "src/hb-buffer.hh", 168 "src/hb-cache.hh", 169 "src/hb-cff-interp-common.hh", 170 "src/hb-cff-interp-cs-common.hh", 171 "src/hb-cff-interp-dict-common.hh", 172 "src/hb-cff1-interp-cs.hh", 173 "src/hb-cff2-interp-cs.hh", 174 "src/hb-common.cc", 175 "src/hb-config.hh", 176 "src/hb-cplusplus.hh", 177 "src/hb-debug.hh", 178 "src/hb-dispatch.hh", 179 "src/hb-draw.cc", 180 "src/hb-draw.h", 181 "src/hb-draw.hh", 182 "src/hb-face-builder.cc", 183 "src/hb-face.cc", 184 "src/hb-face.hh", 185 "src/hb-font.cc", 186 "src/hb-font.hh", 187 "src/hb-geometry.hh", 188 "src/hb-iter.hh", 189 "src/hb-kern.hh", 190 "src/hb-limits.hh", 191 "src/hb-machinery.hh", 192 "src/hb-map.cc", 193 "src/hb-map.hh", 194 "src/hb-meta.hh", 195 "src/hb-ms-feature-ranges.hh", 196 "src/hb-multimap.hh", 197 "src/hb-mutex.hh", 198 "src/hb-null.hh", 199 "src/hb-number-parser.hh", 200 "src/hb-number.cc", 201 "src/hb-number.hh", 202 "src/hb-object.hh", 203 "src/hb-open-file.hh", 204 "src/hb-open-type.hh", 205 "src/hb-ot-cff-common.hh", 206 "src/hb-ot-cff1-std-str.hh", 207 "src/hb-ot-cff1-table.cc", 208 "src/hb-ot-cff1-table.hh", 209 "src/hb-ot-cff2-table.cc", 210 "src/hb-ot-cff2-table.hh", 211 "src/hb-ot-cmap-table.hh", 212 "src/hb-ot-color.cc", 213 "src/hb-ot-color.h", 214 "src/hb-ot-deprecated.h", 215 "src/hb-ot-face-table-list.hh", 216 "src/hb-ot-face.cc", 217 "src/hb-ot-face.hh", 218 "src/hb-ot-font.cc", 219 "src/hb-ot-gasp-table.hh", 220 "src/hb-ot-glyf-table.hh", 221 "src/hb-ot-hdmx-table.hh", 222 "src/hb-ot-head-table.hh", 223 "src/hb-ot-hhea-table.hh", 224 "src/hb-ot-hmtx-table.hh", 225 "src/hb-ot-kern-table.hh", 226 "src/hb-ot-layout-base-table.hh", 227 "src/hb-ot-layout-common.hh", 228 "src/hb-ot-layout-gdef-table.hh", 229 "src/hb-ot-layout-gpos-table.hh", 230 "src/hb-ot-layout-gsub-table.hh", 231 "src/hb-ot-layout-gsubgpos.hh", 232 "src/hb-ot-layout-jstf-table.hh", 233 "src/hb-ot-layout.cc", 234 "src/hb-ot-layout.hh", 235 "src/hb-ot-map.cc", 236 "src/hb-ot-map.hh", 237 "src/hb-ot-math-table.hh", 238 "src/hb-ot-math.cc", 239 "src/hb-ot-maxp-table.hh", 240 "src/hb-ot-meta-table.hh", 241 "src/hb-ot-meta.cc", 242 "src/hb-ot-meta.h", 243 "src/hb-ot-metrics.cc", 244 "src/hb-ot-metrics.hh", 245 "src/hb-ot-name-language-static.hh", 246 "src/hb-ot-name-language.hh", 247 "src/hb-ot-name-table.hh", 248 "src/hb-ot-name.cc", 249 "src/hb-ot-name.h", 250 "src/hb-ot-os2-table.hh", 251 "src/hb-ot-os2-unicode-ranges.hh", 252 "src/hb-ot-post-macroman.hh", 253 "src/hb-ot-post-table-v2subset.hh", 254 "src/hb-ot-post-table.hh", 255 "src/hb-ot-shape-fallback.cc", 256 "src/hb-ot-shape-fallback.hh", 257 "src/hb-ot-shape-normalize.cc", 258 "src/hb-ot-shape-normalize.hh", 259 "src/hb-ot-shape.cc", 260 "src/hb-ot-shape.hh", 261 "src/hb-ot-shaper-arabic-fallback.hh", 262 "src/hb-ot-shaper-arabic-joining-list.hh", 263 "src/hb-ot-shaper-arabic-pua.hh", 264 "src/hb-ot-shaper-arabic-table.hh", 265 "src/hb-ot-shaper-arabic.cc", 266 "src/hb-ot-shaper-arabic.hh", 267 "src/hb-ot-shaper-default.cc", 268 "src/hb-ot-shaper-hangul.cc", 269 "src/hb-ot-shaper-hebrew.cc", 270 "src/hb-ot-shaper-indic-machine.hh", 271 "src/hb-ot-shaper-indic-table.cc", 272 "src/hb-ot-shaper-indic.cc", 273 "src/hb-ot-shaper-indic.hh", 274 "src/hb-ot-shaper-khmer-machine.hh", 275 "src/hb-ot-shaper-khmer.cc", 276 "src/hb-ot-shaper-myanmar-machine.hh", 277 "src/hb-ot-shaper-myanmar.cc", 278 "src/hb-ot-shaper-syllabic.cc", 279 "src/hb-ot-shaper-syllabic.hh", 280 "src/hb-ot-shaper-thai.cc", 281 "src/hb-ot-shaper-use-machine.hh", 282 "src/hb-ot-shaper-use-table.hh", 283 "src/hb-ot-shaper-use.cc", 284 "src/hb-ot-shaper-vowel-constraints.cc", 285 "src/hb-ot-shaper-vowel-constraints.hh", 286 "src/hb-ot-shaper.hh", 287 "src/hb-ot-stat-table.hh", 288 "src/hb-ot-tag-table.hh", 289 "src/hb-ot-tag.cc", 290 "src/hb-ot-var-avar-table.hh", 291 "src/hb-ot-var-common.hh", 292 "src/hb-ot-var-cvar-table.hh", 293 "src/hb-ot-var-fvar-table.hh", 294 "src/hb-ot-var-gvar-table.hh", 295 "src/hb-ot-var-hvar-table.hh", 296 "src/hb-ot-var-mvar-table.hh", 297 "src/hb-ot-var-varc-table.hh", 298 "src/hb-ot-var.cc", 299 "src/hb-ot-vorg-table.hh", 300 "src/hb-outline.cc", 301 "src/hb-outline.hh", 302 "src/hb-paint-extents.cc", 303 "src/hb-paint-extents.hh", 304 "src/hb-paint.cc", 305 "src/hb-paint.h", 306 "src/hb-paint.hh", 307 "src/hb-pool.hh", 308 "src/hb-priority-queue.hh", 309 "src/hb-repacker.hh", 310 "src/hb-sanitize.hh", 311 "src/hb-serialize.hh", 312 "src/hb-set-digest.hh", 313 "src/hb-set.cc", 314 "src/hb-set.hh", 315 "src/hb-shape-plan.cc", 316 "src/hb-shape-plan.hh", 317 "src/hb-shape.cc", 318 "src/hb-shaper-impl.hh", 319 "src/hb-shaper-list.hh", 320 "src/hb-shaper.cc", 321 "src/hb-shaper.hh", 322 "src/hb-static.cc", 323 "src/hb-string-array.hh", 324 "src/hb-subset-accelerator.hh", 325 "src/hb-subset-cff-common.cc", 326 "src/hb-subset-cff-common.hh", 327 "src/hb-subset-cff1.cc", 328 "src/hb-subset-cff2.cc", 329 "src/hb-subset-input.cc", 330 "src/hb-subset-input.hh", 331 "src/hb-subset-instancer-iup.cc", 332 "src/hb-subset-instancer-iup.hh", 333 "src/hb-subset-instancer-solver.cc", 334 "src/hb-subset-instancer-solver.hh", 335 "src/hb-subset-plan-member-list.hh", 336 "src/hb-subset-plan.cc", 337 "src/hb-subset-plan.hh", 338 "src/hb-subset-repacker.cc", 339 "src/hb-subset-repacker.h", 340 "src/hb-subset.cc", 341 "src/hb-subset.hh", 342 "src/hb-ucd-table.hh", 343 "src/hb-ucd.cc", 344 "src/hb-unicode-emoji-table.hh", 345 "src/hb-unicode.cc", 346 "src/hb-unicode.hh", 347 "src/hb-utf.hh", 348 "src/hb-vector.hh", 349 "src/hb.hh", 350] 351 352cc_library( 353 name = "harfbuzz", 354 srcs = HARFBUZZ_SRCS, 355 hdrs = HARFBUZZ_HDRS, 356 defines = [ 357 "HAVE_OT", 358 "HAVE_CONFIG_OVERRIDE_H", 359 "HB_NO_FALLBACK_SHAPE", 360 "HB_NO_WIN1256", 361 ], 362 includes = [ 363 "src", 364 ], 365 visibility = ["//visibility:public"], 366) 367