Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
More educated guess.
Browse files Browse the repository at this point in the history
  • Loading branch information
yhahn committed May 29, 2014
1 parent 25803b4 commit 3679649
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions src/map/tile_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ std::unique_ptr<Bucket> TileParser::createTextBucket(const VectorTileLayer& laye

// Create a copy!
const FontStack &fontStack = glyphStore.getFontStack(bucket_desc.geometry.font);
std::map<Value, Shaping> shaping;

// Shape and place all labels.
{
Expand All @@ -221,29 +222,30 @@ std::unique_ptr<Bucket> TileParser::createTextBucket(const VectorTileLayer& laye
uint32_t i = 0;
uint32_t x = 0;
const std::string string = toString(it_prop->second);
std::map<uint32_t, GlyphPlacement> shaping;
Shaping shapedGlyphs;
std::map<uint32_t, GlyphMetrics> metrics = fontStack.getMetrics();
// fprintf(stderr, "%s\n", string.c_str());
// TODO: Shape label
// Loop through all characters of this label and shape.
for (uint32_t chr : string) {
// Can we reuse GlyphPlacement here? First arg is a faces index ...
GlyphPlacement shaped = GlyphPlacement(0, chr, x, 0);
// No idea how to properly put together a shaping std::map ...
shaping.emplace(i, shaped);
// Can we reuse GlyphPlacement here? First arg is a faces index.
GlyphPlacement glyph = GlyphPlacement(0, chr, x, 0);
// No idea how to properly put together a shapedGlyphs vector.
shapedGylphs.push(glyph);

This comment has been minimized.

Copy link
@mikemorris

mikemorris May 29, 2014

Contributor

Think this should be shapedGlyphs.push_back(glyph);

i++;
x += metrics[chr].advance;
}
// TODO: Shape label
// TODO: Place label
// Can faces here be a std::map of fontstacks?
// It looks like nearly the same interface through the rest
// of the stack.
std::unique_ptr<TextBucket> bucket = std::make_unique<TextBucket>(
tile.textVertexBuffer, tile.triangleElementsBuffer, bucket_desc, placement);
addBucketFeatures(bucket, layer, bucket_desc, faces, shaping);
shaping.emplace(string, shaped);
}

}

// Can faces here be a std::map of fontstacks?
// It looks like nearly the same interface through the rest
// of the stack.
std::unique_ptr<TextBucket> bucket = std::make_unique<TextBucket>(
tile.textVertexBuffer, tile.triangleElementsBuffer, bucket_desc, placement);
addBucketFeatures(bucket, layer, bucket_desc, faces, shaping);

return std::move(bucket);
}

0 comments on commit 3679649

Please sign in to comment.